选择合适的缓存的分类:
1.本地缓存:本地调用,不支持分布式,调用较快。适合一些静态数据,比如配置数据、游戏商店道具等。
2.分布式缓存:远程调用,支持分布式,调用较慢。适合一些全局数据,比如排行榜,世界消息等。
缓存同步方式:
Cache Aside:读取数据先检查缓存中是否有该数据,若有则返回数据,若没有则去访问数据库,返回时添加到缓存中。更新数据同步更新数据库和缓存中的数据,或只更新数据库,等下次读取时更新到缓存中。
Read/Write Through:将缓存和数据库看做一个整体,业务代码只需要调用给定的接口,具体功能由整个模块完成。
Write Back:更新数据先更新缓存,再以异步方式更新数据库,或者定时将缓存中数据刷新到数据库中。
优缺点比较:
Cache Aside:实现简单,适用于轻量级应用开发,对业务代码有侵入。
Read/Write Through:实现较复杂,适用于经常应用缓存的应用,业务代码只需要调用接口而不需要关系内部实现,方便维护。
Write Back:异步方式会导致缓存数据库内容不一致,有可能造成一定程度的数据丢失,适用于对数据一致性要求不高的应用,可 以大大提升性能。
缓存命中率:衡量缓存效率的标准,可以通过仔细分析历史数据来确定该做哪些数据的缓存。
过期策略:保证存储空间的可用性,防止过多无用缓存占据空间,较常用的是LRU算法。