除非我遗漏了某些内容,否则我看不到允许您设置多个密钥到期的多重设置/添加重载。
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);
答案 0 :(得分:1)
不存在这样的redis操作 - expire不是varadic。但是,由于api是流水线的,只需多次调用该方法。如果要确保绝对最佳性能,可以在执行此操作时暂停急切的套接字刷新:
conn.SuspendFlush();
try {
foreach(...)
conn.Keys.Expire(...);
} finally {
conn.ResumeFlush();
}
答案 1 :(得分:0)
这是我的方法:
var expireTime = ...
var batchOp = redisCache.CreateBatch();
foreach (...) {
batchOp.StringSetAsync(key, value, expireTime);
}
batchOp.Execute();