如何在spring中使用redis事务跨多个类?

时间:2014-04-18 03:44:08

标签: spring redis

我有几个存储库,包括许多redis操作。我的服务类在一个方法中调用它们,我希望这些操作是一个redis事务。怎么实现呢?感谢

1 个答案:

答案 0 :(得分:0)

Redis有两种交易机制:

  1. 使用MULTI/EXEC
  2. 使用EVALSHA
  3. 选择一个,然后就可以了。一个简单的Lua脚本通常比MULTI/EXEC容易一些,因为Lua不需要乐观的假设(WATCH)。

    我建议将所有命令捆绑为MsgPack,并使用1个参数调用EVALSHA一次。这是将参数传递给Lua的最有效方法。

    希望这有帮助,TW