redis中的双写一致性问题

双写一致性问题

1.先删除缓存或者先修改数据库都可能出现脏数据。

2.删除两次缓存,可以在一定程度上降低脏数据的出现。

3.延时是因为数据库一般采用主从分离,读写分离。延迟一会是让主节点把数据同步到从节点。

1.读写锁保证数据的强一致性

因为一般放入缓存中的数据都是读多写少(如果读少写多,就不用缓存了,直接操作数据库)。因此,用读写锁可以保证数据的强一致性。但缺点就是性能低,因为写数据时,其他线程还是要等待。

2.消息队列保证数据最终一致

这种情况可能有短暂的数据延迟,但效率高。

3.基于Canal的异步通知(和方法2类似)

优点:对于业务代码几乎零侵入。 缺点:还是可能有短暂的数据延迟。

总结:

相关推荐
weelinking4 小时前
【2026】08_Claude与版本控制:Git协作技巧
数据库·人工智能·git·python·数据挖掘·交互·cloudera
黄焖鸡能干四碗8 小时前
固定资产管理系统建设方案和源码(Java源码)
大数据·数据库·人工智能·物联网·区块链
JoneBB9 小时前
ABAP Webservice连接
运维·开发语言·数据库·学习
解决问题no解决代码问题9 小时前
从乱码到脱敏导出:TiDB CSV 导出实战全指南
数据库
未若君雅裁9 小时前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
2401_867623989 小时前
CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法
jvm·数据库·python
月落归舟10 小时前
一篇文章了解Redis内存淘汰机制与过期Key清理
数据库·redis·mybatis
phltxy10 小时前
Redis 事务
数据库·redis·缓存
康乾隆10 小时前
SQL Server Always On 重新添加从库步骤
数据库·sqlserver
环流_11 小时前
redis核心数据类型在java中的操作
java·数据库·redis