所有分类
  • 所有分类
  • 未分类

Redis-保证缓存与数据库的一致性-解决方案

简介

本文介绍如何保证Redis缓存与数据库的数据一致性。

问题由来

缓存流程如下:

缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存;又或者是先删除缓存,再更新数据库呢?也就是说如何保证双写一致性呢?

本文不适合秒杀的情况。秒杀一般是如此设计的:把数据库中的库存数据转移到Redis缓存中,所有读写操作(比如:查库存、减库存)都在Redis中进行,然后再通过定时任务把Redis中的用户秒杀的数据同步到数据库中。

方案1:先更新数据库,再更新缓存(不建议)

这套方案,大家是普遍反对的。为什么呢?有如下两点原因。

此内容仅限VIP查看,请先
5

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录