想在应用中引入redis,把部分不重要的数据放到redis中,事务问题如何解决,
如果有两个操作,第一步是向关系数据库中插一条记录,第二步是向redis中插入,这两步要看作一个事务,怎么处理比较好呢?
如果是异构的两个组件,比如mysql和redis,要想直接实现事务,不太容易
可以在失败时增加一些double check的方法,然后考虑2阶段提交的方式提高成功率
从技术的角度上,并不使用关系数据库的事务概念。redis插入时如果出错了,那么向数据库插入的动作也不会作废,而是会把错误报警记录,并且从数据库重新恢复数据到redis。总之,“去事务化”是为了提高几十倍性能,那么多写10行代码并且并不要求每一时刻的数据都是一致,看上去也是值得的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。