Booksleeve设置多个键/值的到期时间

时间:2013-12-11 21:27:54

标签: redis booksleeve

除非我遗漏了某些内容,否则我看不到允许您设置多个密​​钥到期的多重设置/添加重载。

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);

2 个答案:

答案 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();