讨论:redis事务

最近想在应用中引入redis,把部分不重要的数据放到redis中,事务问题如何解决,
如果有两个操作,第一步是向关系数据库中插一条记录,第二步是向redis中插入,这两步要看作一个事务,怎么处理比较好呢
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
马七甲 2015-08-25
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
需要权衡,是否需要强一致性? (1)需要 了解下TCC 和二次提交(方案复杂且性能不佳) (2)不需要 可以使用最终一致性解决分布式事务的问题 具体实现方法就很多了:消息队列,失败重试等等
  • 打赏
  • 举报
回复
redis插入时如果出错了,那么向数据库插入的动作也不会作废,而是会把错误报警记录,并且从数据库重新恢复数据到redis。 你说的这个我觉得大概应该只限于数据是可重复产生的,万一不是这种情况呢 另外我觉得redis不会支持jta,所以分布式事务这个不太靠谱 http://blog.csdn.net/it_man/article/details/21593187 看到了这篇,用队列消除分布式事务,我觉得思路比较可行
  • 打赏
  • 举报
回复
技术上,并不使用关系数据库的事务概念。redis插入时如果出错了,那么向数据库插入的动作也不会作废,而是会把错误报警记录,并且从数据库重新恢复数据到redis。 总之,“去事务化”是为了提高几十倍性能,那么多写10行代码并且并不要求每一时刻的数据都是一致,看上去也是值得的。

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧