Memcached 增量减量数据
Telnet增量减量数据
Memcached 的 incr和decr命令用于递增或递减现有键的数字值。如果找不到该键,则返回NOT_FOUND。如果键不是数字键,则返回CLIENT_ERROR不能递增或递减非数值。否则,将返回ERROR。
Memcached incr命令的基本语法如下所示-
incr key increment_value
在此示例中,我们将访问者用作键并将其初始设置为10,然后将访问者增加5。
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
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
Java应用程序的incr / decr
要增加或减少Memcached服务器中的数据,您需要分别使用Memcached incr或decr方法。
import java.io.IOException;
import java.net.InetSocketAddress;
import net.spy.memcached.MemcachedClient;
public class MemcachedJava {
public static void main(String[] args) {
// Connecting to Memcached server on localhost
MemcachedClient mcc = null;
try {
mcc = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211));
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println("Connection to server sucessfully");
// 设置数据库 第一个参数key 第二个参数过期时间,第三个参数value
System.out.println("set status:" + mcc.set("jc2182", 900, "5").getStatus());
System.out.println("Get from Cache:" + mcc.get("jc2182"));
// 加2
mcc.incr("jc2182", 2);
System.out.println("Current Value:" + mcc.get("jc2182"));
// 减4
mcc.decr("jc2182", 4);
System.out.println("Current Value:" + mcc.get("jc2182"));
}
}
在编译和执行程序时,您将看到以下输出-
Connection to server sucessfully
set status:{OperationStatus success=true: STORED}
Get from Cache:5
Current Value:7
Current Value:3