{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

redis 怎样保证缓存和数据库的数据一致?

社区管理员社区管理员 回答1 收藏3
收藏问题

1条回答

社区管理员

社区管理员

回答于2022-10-19 11:56

(1)缓存和数据库一致的意思是,当缓存中有数据时,缓存和数据库数据相同,当没有数据时,数据库中是最新的;
(2)在做增删改操作的时候,对缓存的更新有两种方式:
   ◆ 新增直接添加到数据库,删除和修改时先更新缓存,然后同步或异步进行数据库的更新;
   ◆ 新增直接添加到数据库,删除和修改时先更新数据库,再删除对应的缓存。
(3)上面的操作都涉及到两个,操作 Redis 和操作数据库,当其中一个成功一个失败时就会出现数据不一致的情况;
(4)解决不一致的问题:
   ◆ 将操作通过消息队列异步处理,设置重试机制,保证最终的一致性;
   ◆ 使用分布式事务,保证操作 Redis 和数据库的两个操作在一个事务中。


评论0 赞同0
  •  加载中...

社区管理员

|打造一个专业,规范,活跃的社区

TA的文章

阅读更多

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<