除非我遗漏了什么,否则我看不到允许您设置多个过期键的多重设置/添加重载。
var conn = new RedisConnection("server");
Dictionary<string,string> keyvals;
conn.Strings.Set(0,keyvals,expiration);
甚至通过多个操作来完成
conn.Strings.Set(0,keyvals);
conn.Expire(keyvals.Keys,expiration);
除非我遗漏了什么,否则我看不到允许您设置多个过期键的多重设置/添加重载。
var conn = new RedisConnection("server");
Dictionary<string,string> keyvals;
conn.Strings.Set(0,keyvals,expiration);
甚至通过多个操作来完成
conn.Strings.Set(0,keyvals);
conn.Expire(keyvals.Keys,expiration);
不存在这样的 redis 操作 - expire不是可变的。但是,由于 api 是流水线的,只需多次调用该方法即可。如果您想确保绝对的最佳性能,您可以在执行此操作时暂停急切的套接字刷新:
conn.SuspendFlush();
try {
foreach(...)
conn.Keys.Expire(...);
} finally {
conn.ResumeFlush();
}
这是我的方法:
var expireTime = ...
var batchOp = redisCache.CreateBatch();
foreach (...) {
batchOp.StringSetAsync(key, value, expireTime);
}
batchOp.Execute();