分布式缓存

65 阅读1分钟

分布式远程调用需要消耗很多资源,网络开销导致整体响应时间下降。为了解决这个问题,在业务允许的前提下,不需要实时的数据,可以用缓存处理。

缓存三种模式

Cache Aside更新模式

这个模式是最常用的。在分布式下读缓存数据防止读到脏数据,写操作比读操作更费时间,而且要锁表,读操作必须在写操作前进入数据库,又要晚于写操作更新缓存之后,要达到这几个要求有点困难。
最好的方式设置缓存过期时间

Read/Write Through更新模式

Read Through

在查询操作中,用缓存服务自己加载,对应用方是透明的。

Write Through

更新数据时,如果没有命中缓存,直接更新数据库。如果命中缓存,更新换粗,由缓存自己更新数据库。

Write Behind Caching更新模式

更新数据时,只更新缓存,不更新数据库,缓存会异步批量更新数据库。这个设计让i/o处理操作飞快因为基于内存。

缓存设计

缓存看中命中率,如果命中率高,证明缓存有效,一般达到80%已经不错了。缓存通过牺牲强一致性提高性能,并不是所有业务都适合用缓存。 缓存的过期时间不宜过短或过长,使用LRU策略,当内存不够用时,需要有数据被清理出去,会找不活跃的数据清除。