允许cache miss的场景,不管是memcache还是redis,当被缓存的内容变化时,是改修改缓存,还是淘汰缓存?这是今天将要讨论的话题。
问:KV缓存都缓存了一些什么数据?
答:
(1)朴素类型的数据,例如:int
(2)序列化后的对象,例如:User实体,本质是binary
(3)文本数据,例如:json或者html
(4)...
问:淘汰缓存中的这些数据,修改缓存中的这些数据,有什么差别?
答:
(1)淘汰某个key,操作简单,直接将key置为无效,但下一次该key的访问会cache miss
(2)修改某个key的内容,逻辑相对复杂,但下一次该key的访问仍会cache hit
可以看到,差异仅仅在于一次cache miss。
问:缓存中的value数据一般是怎么修改的?
答:
(1)朴素类型的数据,直接set修改后的值即可
(2)序列化后的对象
继续阅读与本文标签相同的文章
上一篇 :
进程内缓存,究竟怎么玩?
下一篇 :
数据库主从不一致,怎么解?
-
InnoDB并发如此高,原因竟然在这?
2026-05-21栏目: 教程
-
InnoDB行锁,如何锁住一条不存在的记录?
2026-05-21栏目: 教程
-
缓存与数据库不一致,咋办?
2026-05-21栏目: 教程
-
Cache Aside Pattern
2026-05-21栏目: 教程
-
究竟先操作缓存,还是数据库?
2026-05-21栏目: 教程
