缓存系统设计与实现
1.缓存设计
缓存架构示意图
缓存 KEY 命名规则
和客户无关的公共缓存
模块编码+业务编号+COMMON+说明
和客户有关的私有缓存
模块编码+业务编号+FIRM+客户 ID+说明
和条件有关的私有缓存
模块编码+业务编号+说明+查询条件(MD5)
何种数据适合使用缓存
对于一些不经常变化的数据或者实时性要求不高的数据,可以考虑采用缓存,减轻数据库的压力,提供系统的吞吐量。
公共基础
图片资源(也可以 CDN 缓存)
商品信息
数据结构
定义缓存服务的数据结构:
缓存编号
模块编号
业务编号
数据类型(JSON/ARRAY/STR)
业务说明
缓存类型
失效时间
启用标志
更新方式
缓存更新方式
根据不同的业务场景和需求采用不同的缓存更新方式
手动更新缓存
管理端选中需要更新的缓存,进行操作
TODO 图
主动更新缓存
实时性要求比较高的缓存发生变化时,实时更新缓存中的数据
TODO 图
需要业务系统进行改造
被动更新缓存
多用于查询时缓存失效后,再次查询数据返回结果后重新生成缓存
定时更新缓存
对于业务实时性要求不高、业务系统改造复杂,无法即使更新的服务采用此方式
评论