Stackexchange.Redis对XX | NX | CH的支持?

Stackexchange.Redis对XX | NX | CH的支持?,redis,stackexchange.redis,Redis,Stackexchange.redis,stackexchange.redis是否支持NX和其他相关交换机? 我查阅了文档、单元测试和代码,但找不到任何参考资料。如果有人能解释一下如何实现这一点,那就太好了,如果它不受支持的话据我所知,SE.Redis的最新稳定版本没有实现这一点 但您仍然可以使用ScriptEvaluate执行任意redis命令,例如: var ctx = ConnectionMultiplexer.Connect("..."); var db = ctx.GetDatabase(); db.ScriptEvalua

stackexchange.redis是否支持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" });
var context = new CachingFramework.Redis.Context();
var sset = context.Collections.GetRedisSortedSet<string>("key");
sset.Add(12.34, "member", When.NotExists);
您还可以使用在SE.Redis之上构建的库,因为SortedSet命令已经处理了NX/XX开关,例如:

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" });
var context = new CachingFramework.Redis.Context();
var sset = context.Collections.GetRedisSortedSet<string>("key");
sset.Add(12.34, "member", When.NotExists);
var context=new cachingframew.Redis.context();
var sset=context.Collections.GetRedisSortedSet(“key”);
sset.增补(12.34,“成员”,当.NotExists时);