后端缓存系统设计要点

选择合适的缓存的分类:

1.本地缓存:本地调用,不支持分布式,调用较快。适合一些静态数据,比如配置数据、游戏商店道具等。

2.分布式缓存:远程调用,支持分布式,调用较慢。适合一些全局数据,比如排行榜,世界消息等。

缓存同步方式:

Cache Aside:读取数据先检查缓存中是否有该数据,若有则返回数据,若没有则去访问数据库,返回时添加到缓存中。更新数据同步更新数据库和缓存中的数据,或只更新数据库,等下次读取时更新到缓存中。

Read/Write Through:将缓存和数据库看做一个整体,业务代码只需要调用给定的接口,具体功能由整个模块完成。

Write Back:更新数据先更新缓存,再以异步方式更新数据库,或者定时将缓存中数据刷新到数据库中。

优缺点比较:

Cache Aside:实现简单,适用于轻量级应用开发,对业务代码有侵入。

Read/Write Through:实现较复杂,适用于经常应用缓存的应用,业务代码只需要调用接口而不需要关系内部实现,方便维护。

Write Back:异步方式会导致缓存数据库内容不一致,有可能造成一定程度的数据丢失,适用于对数据一致性要求不高的应用,可                         以大大提升性能。

缓存命中率:衡量缓存效率的标准,可以通过仔细分析历史数据来确定该做哪些数据的缓存。

 过期策略:保证存储空间的可用性,防止过多无用缓存占据空间,较常用的是LRU算法。

你可能感兴趣的:(学习笔记,java)