#青训营笔记创作活动#
2月23日 打卡day19
今天学习了高并发场景下缓存存在的问题,以及缓存db数据一致性问题

缓存击穿:数据不在缓存,但在db
缓存穿透:数据既不在缓存,也不在db
缓存雪崩:由于大量key过期或者redis挂掉了,大量请求涌入db,导致db压力过大,甚至宕机。

缓存db数据一致性问题:并发读写,必然存在一致性问题:

缓存中有数据,那么,缓存的数据值需要和数据库中的值相同;
缓存中本身没有数据,那么,数据库中的值必须是最新值。

目前比较好的做法是:
1.旁路缓存 (Facebook的memcached也是这么做的)
2.订阅MySQL的binlog+异步更新
展开
评论