stackexchange.redis 是否支持来自 ZADD 的 NX 和其他相关开关? 我查看了文档、单元测试和代码,但找不到任何引用资料。如果有人可以阐明如何在不支持的情况下实现这一点,那就太好了
最佳答案
据我所知,这并没有在最新稳定版的 SE.Redis 上实现。
但是你仍然可以使用ScriptEvaluate来执行任意的redis命令,例如:
var ctx = ConnectionMultiplexer.Connect("...");
var db = ctx.GetDatabase();
db.ScriptEvaluate("return redis.call('zadd', KEYS[1], unpack(ARGV))",
new RedisKey[] { "key" },
new RedisValue[] { "NX", 12.34, "member" });
您也可以使用 CachingFramework.Redis构建在 SE.Redis 之上的库,因为 SortedSet 命令已经处理了 NX/XX 开关,例如:
var context = new CachingFramework.Redis.Context();
var sset = context.Collections.GetRedisSortedSet<string>("key");
sset.Add(12.34, "member", When.NotExists);
关于redis - Stackexchange.Redis 支持 XX|NX|CH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38071045/