Memcached的incr 和 decr命令用于增加現(xiàn)有鍵的數(shù)值遞減。如果鍵未找到或如果關(guān)鍵的不是數(shù)字,則返回NOT_FOUND。那么CLIENT_ERROR不能增加或返回遞減非數(shù)值錯(cuò)誤。
memcached的incr命令的基本語法如下所示:
incr key increment_value
set visitors 0 900 2 10 STORED get visitors VALUE visitors 0 2 10 END incr visitors 5 15 get visitors VALUE visitors 0 2 15 END
在上面的例子中,我們已經(jīng)使用visitors為一個(gè)鍵,并設(shè)置10為初始值,之后為visitors增量5。
memcached的decr命令的基本語法如下所示:
decr key decrement_value
set visitors 0 900 2 10 STORED get visitors VALUE visitors 0 2 10 END decr visitors 5 5 get visitors VALUE visitors 0 1 5 END
要在memcached服務(wù)器增加,減小數(shù)據(jù),需要使用memcached的incr, decr方法。
import net.spy.memcached.MemcachedClient;
public class MemcachedJava {
public static void main(String[] args) {
//Connecting to Memcached server on localhost
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211));
System.out.println("Connection to server sucessfully");
System.out.println("set status:"+mcc.set("count", 900, "5").isDone());
//Get value from cache
System.out.println("Get from Cache:"+mcc.get("count"));
// now increase the stored value
System.out.println("Increment value:"+mcc.incr("count", 2));
// now decrease the stored value
System.out.println("Decrement value:"+mcc.decr("count", 1));
// now get the final stored value
System.out.println("Get from Cache:"+mcc.get("count"));
}
}
當(dāng)上述程序編譯和運(yùn)行,它提供了以下的輸出:
Connection to server successfully set status:true Get from Cache:5 Increment value:7 Decrement value:6 Get from Cache:6