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