关于缓存设计的一些方案

1、主动缓存(适用于更新可能小的情况,如一些设置或者配置)

写场景:先将数据写入到数据库,写入成功后立即把数据同步到缓存。

或者写入到数据库后,把之前的缓存失效,下次请求的时候,加入到缓存中

2、直写(异步的方式)

直接把Cache假装当成数据库,读写都针对Cache,然后Cache负责后面的数据同步问题,
以同步的方式 先写入数据库,写入成功后写入redis。
如果写入数据库一直没成功,采用日志记录的方式,单开个任务队列,读取日志,主动写入数据库并写入redis缓存

4、其他想法:(异步的方式)

写入的时候,写入到redis,然后使用任务分发的方式,更新数据库,但是也需要和2一样,做数据库一致保证

5、京东做秒杀系统的做法:(异步的方式)

直接对redis做操作,同时会记录redis的操作日志,然后另外的work服务主动读取日志,同步到数据库

个人博客:yulibaozi.com

你可能感兴趣的:(关于缓存设计的一些方案)