如何实现数据库与缓存数据的一致性管理方案?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2597个文字,预计阅读时间需要11分钟。
在分布式系统中,数据库与缓存数据一致性是一项富有挑战性的技术难题。本文将探讨数据库与缓存数据一致性问题的解决方案。
一、序言在分布式并发系统中,数据库与缓存数据一致性是一项富有挑战性的技术难点。本文将讨论数据库与缓存数据一致性问题,并提供通用的解决方案。
假设有完善的工业级分布式事务解决方案,那么数据库与缓存数据一致性便迎刃而解,实际上,目前分布式事务不成熟。
二、不同的声音在数据库与缓存数据一致解决方式中,有各种声音。
- 先操作数据库后缓存还是先缓存后数据库
- 缓存是更新还是删除
在并发系统中,数据库与缓存双写场景下,为了追求更大的并发量,操作数据库与缓存显而易见不会同步进行。前者操作成功后者以异步的方式进行。
关系型数据库作为成熟的工业级数据存储方案,有完善的事务处理机制,数据一旦落盘,不考虑硬件故障,可以负责任的说数据不会丢失。
所谓缓存,无非是存储在内存中的数据,服务一旦重启,缓存数据全部丢失。既然称之为缓存,那么时刻做好了缓存数据丢失的准备。尽管Redis有持久化机制,是否能够保证百分之百持久化?Redis将数据异步持久化到磁盘有不可,缓存是缓存,数据库是数据库,两个不同的东西。把缓存当数据库使用是一件极其危险的事情。
2、处理缓存的态度从数据安全的角度来讲,先操作数据库,然后以异步的方式操作缓存,响应用户请求。
缓存是更新还是删除,对应懒汉式和饱汉式,从处理线程安全实践来讲,删除缓存操作相对难度低一些。
本文共计2597个文字,预计阅读时间需要11分钟。
在分布式系统中,数据库与缓存数据一致性是一项富有挑战性的技术难题。本文将探讨数据库与缓存数据一致性问题的解决方案。
一、序言在分布式并发系统中,数据库与缓存数据一致性是一项富有挑战性的技术难点。本文将讨论数据库与缓存数据一致性问题,并提供通用的解决方案。
假设有完善的工业级分布式事务解决方案,那么数据库与缓存数据一致性便迎刃而解,实际上,目前分布式事务不成熟。
二、不同的声音在数据库与缓存数据一致解决方式中,有各种声音。
- 先操作数据库后缓存还是先缓存后数据库
- 缓存是更新还是删除
在并发系统中,数据库与缓存双写场景下,为了追求更大的并发量,操作数据库与缓存显而易见不会同步进行。前者操作成功后者以异步的方式进行。
关系型数据库作为成熟的工业级数据存储方案,有完善的事务处理机制,数据一旦落盘,不考虑硬件故障,可以负责任的说数据不会丢失。
所谓缓存,无非是存储在内存中的数据,服务一旦重启,缓存数据全部丢失。既然称之为缓存,那么时刻做好了缓存数据丢失的准备。尽管Redis有持久化机制,是否能够保证百分之百持久化?Redis将数据异步持久化到磁盘有不可,缓存是缓存,数据库是数据库,两个不同的东西。把缓存当数据库使用是一件极其危险的事情。
2、处理缓存的态度从数据安全的角度来讲,先操作数据库,然后以异步的方式操作缓存,响应用户请求。
缓存是更新还是删除,对应懒汉式和饱汉式,从处理线程安全实践来讲,删除缓存操作相对难度低一些。

