【发布时间】:2012-10-11 14:51:58
【问题描述】:
我对 Redis 事务和管道之间的区别以及最终如何将管道与 Booksleeve 一起使用有点混淆。我看到Booksleeve 支持 Redis transaction feature (MULTI/EXEC),但在其 API/测试中没有提及流水线功能。但是,在其他实现中很明显管道和事务之间存在区别,即在 atomicity 中,正如下面的 redis-ruby 版本所证明的那样,但在某些 places 中,这些术语似乎可以互换使用。
redis-ruby 实现:
r.pipelined {
# these commands will be pipelined
r.get("insensitive_key")
}
r.multi {
# these commands will be executed atomically
r.set("sensitive_key")
}
我只是改用MULTI/EXEC,但他们似乎会阻止所有其他用户,直到交易完成(在我的情况下不是必需的),所以我担心他们的表现。有没有人在 Booksleeve 中使用过管道或者对如何实现它们有任何想法?
【问题讨论】:
标签: c# .net redis booksleeve