前提: 1.目前我们的项目内是配置了全局事务,通过方法的命名前缀来控制,如 insert/update 开头的都是 required 方式传播这样。
2.对 Redis 的操作是将 jedis 封装了一层 Util 工具类。
3.目前的写法都是把 redis 操作放在方法的最后执行来尽量规避报错导致事务回滚,缓存插入脏数据。
伪代码:
public void foo() {
this.doSomething();
redisUtil.set(key, val);
throw new RuntimeException();
}
PS: 今天试着把 redis 的操作放在监听器里,但是发现对 list 类型的操作无法生效,求解大家的处理方案。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.