首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用RSpec测试Redis事务

用RSpec测试Redis事务
EN

Stack Overflow用户
提问于 2015-06-05 12:55:53
回答 1查看 617关注 0票数 0

我正在使用WATCH/MULTI/EXEC命令序列在Rails应用程序中完成事务。我想详细说明事务成功和事务失败时应用程序的行为(特别是在事务期间的另一个会话中修改被监视的密钥时)。

具体地说,考虑到下面的(人为的)示例,我如何编写一个在执行任意计算时始终修改Redis中的testval的规范?

代码语言:javascript
复制
def test_watch
  REDIS.watch("testval") do
    val = REDIS.get('testval')
    val += 1000 # arbitrary computation
    REDIS.multi do |m|
      REDIS.set('testval', val)
    end
  end
end
EN

回答 1

Stack Overflow用户

发布于 2015-06-05 16:17:42

你实际上不需要在另一个会话中修改你的密钥'testval‘,你可以在同一个会话中修改,你的事务仍然会失败。所以你只需要找到一种方法在手表和多手表之间注入一个REDIS.set('testval',some_value),你的事务就会失败。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30658598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档