memcached的incr 和 decr命令用于增加现有键的数值递减。如果键未找到或如果关键的不是数字,则返回not_found。那么client_error不能增加或返回递减非数值错误。
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
在上面的例子中,我们已经使用visitors为一个键,并设置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服务器增加,减小数据,需要使用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"));
}
}
当上述程序编译和运行,它提供了以下的输出:
connection to server successfully set status:true get from cache:5 increment value:7 decrement value:6 get from cache:6