缓存
qq_27037397
这个作者很懒,什么都没留下…
展开
-
Cache Aside Pattern(旁路缓存模式)在写数据的过程中,可以先删除 cache ,后更新 db 么?
不可以。以mysql 5.6为例,默认隔离级别为RR(可重复读)。线程1对数据进行更新,如果先删除缓存后更新DB,在两步中间若有线程2进行读数据操作,所读取的数据为更新前的数据,让后把此数据放入缓存。在此之后DB为新数据,缓存为旧数据,造成DB与缓存不一致原创 2022-09-07 15:14:48 · 341 阅读 · 0 评论 -
本机缓存和redis缓存不一致问题
业务场景:有一张排名表,记录某个活动的前名,每天凌晨24点更新一次数据,此外时间不更新。有两个查询:1:查询前二十名 ,由于此数据比较小,利用caffeineCache做本机缓存(一个小时自动过期)2.查询某个用户排名,由于条数比较多,利用redis做缓存(一个小时自动过期)情况一:当凌晨榜单更新后,一个小时内缓存未过期,总榜单数据在本机的caffeineCache缓存不会更新,如果有人前一个小时内没有查询过,没有他的缓存,此时他查询自己的排名和前20名,数据会不一致(前二十名为服务器的旧缓存数原创 2022-05-18 19:56:35 · 580 阅读 · 0 评论