分布式系统缓存的更新模式?

Cache Aside模式
1.读取失效:cache数据没有命中,查询DB,成功后把数据写入缓存
2.读取命中:读取cache数据
3.更新:把数据更新到DB,失效缓存
Read/Write Through模式
缓存代理了DB读取、写入的逻辑,可以把缓存看成唯一的存储。
Write Back模式
这种模式下所有的操作都走缓存,缓存里的数据再通过异步的方式同步到数据库里面。所以系统的写性能能够大大提升了。
分布式系统缓存淘汰策略
缓存淘汰,又称为缓存逐出(cache replacement algorithms或者cache replacement policies),是指在存储空间不足的情况下,缓存系统主动释放一些缓存对象获取更多的存储空间。一般LRU用的比较多,可以重点了解一下。
FIFO 先进先出(First In First Out)是一种简单的淘汰策略,缓存对象以队列的形式存在,如果空间不足,就释放队列头部的(先缓存)对象。一般用链表实现。
LRU 最近最久未使用(Least Recently Used),这种策略是根据访问的时间先后来进行淘汰的,如果空间不足,会释放最久没有访问的对象(上次访问时间最早的对象)。比较常见的是通过优先队列来实现。
LFU 最近最少使用(Least Frequently Used),这种策略根据最近访问的频率来进行淘汰,如果空间不足,会释放最近访问频率最低的对象。这个算法也是用优先队列实现的比较常见。
更进一步的谈谈Redis缓存淘汰的8个模式,可以参考上文Redis问答部分。