这篇文章可能有点老了,但这里是使用 Enyim memcacheD 处理增量命令的代码片段。
client.Store(StoreMode.Set, "mykey", "5");
var incrementedValue = client.Increment("mykey", 2, 1);
在上面的示例中,键的初始值 mykey 已设置为 5。请注意,该值必须是字符串格式的整数(“5”而不是 5)。
第二行将值加 1。如果键不存在,它将值设置为 2 而不增加它。
以下代码段使用 TTL 重载。
//initial set, considering that the key did not exist before, the value will be 5
//and it will be valid for 6 seconds
var initialValue = client.Increment("mykey", 5, 1, TimeSpan.FromSeconds(6));
Console.WriteLine(initialValue); //5
//this will increament the value by 1, keeps it in cache for 10 seconds
var incremented = client.Increment("mykey", 5, 1, TimeSpan.FromSeconds(10));
var cachedData = client.Get("mykey");
Console.WriteLine(cachedData); //6
Thread.Sleep(11*1000);
var cachedData_afterExpiry = client.Get("mykey");
Console.WriteLine(cachedData_afterExpiry??"NULL");//this should be null