缓存雪崩问题,缓存击穿问题,缓存一致性问题(内存+数据库)

1.缓存雪崩:缓存挂了,全部请求直接打到数据库了redis

例如:redis挂了,查询数据的时候发现redis不可用,全部请求直接打到数据库了数据库

解决办法:1.缓存集群高可用,2首先本地一级缓存,其次redis二级缓存,最后数据库缓存

2.缓存击穿:全部请求在缓存中没有找到数据,直接打到数据库了队列

例如:查询数据的时候,发现redis中没有,再请数据库也没有的状况内存

解决办法:1.双重验证,2,将查询的空数据也写入到缓存中并设置一个过时时间集群

3.缓存一致性问题(内存+数据库)高可用

查询数据逻辑:先查缓存,缓存没有则查询数据库,将返回数据写入到缓存,并返回给调用方请求

修改数据逻辑:先删除缓存中数据,再插入或更新数据库数据

数据强一致性:读和写数据的逻辑放入队列中串行执行(代码已经实现,用于工做实战中了)查询

相关文章
相关标签/搜索