写点什么

缓存系统设计与实现

用户头像
hasWhere
关注
发布于: 2 小时前
缓存系统设计与实现

1.缓存设计

缓存架构示意图


缓存 KEY 命名规则

  • 和客户无关的公共缓存

  • 模块编码+业务编号+COMMON+说明

  • 和客户有关的私有缓存

  • 模块编码+业务编号+FIRM+客户 ID+说明

  • 和条件有关的私有缓存

  • 模块编码+业务编号+说明+查询条件(MD5)


何种数据适合使用缓存

对于一些不经常变化的数据或者实时性要求不高的数据,可以考虑采用缓存,减轻数据库的压力,提供系统的吞吐量。

  • 公共基础

  • 图片资源(也可以 CDN 缓存)

  • 商品信息

数据结构

定义缓存服务的数据结构:

  • 缓存编号

  • 模块编号

  • 业务编号

  • 数据类型(JSON/ARRAY/STR)

  • 业务说明

  • 缓存类型

  • 失效时间

  • 启用标志

  • 更新方式

缓存更新方式

根据不同的业务场景和需求采用不同的缓存更新方式

手动更新缓存

管理端选中需要更新的缓存,进行操作

TODO 图

主动更新缓存

实时性要求比较高的缓存发生变化时,实时更新缓存中的数据

TODO 图

需要业务系统进行改造

被动更新缓存

多用于查询时缓存失效后,再次查询数据返回结果后重新生成缓存

定时更新缓存

对于业务实时性要求不高、业务系统改造复杂,无法即使更新的服务采用此方式


用户头像

hasWhere

关注

间歇性努力的学习渣 2018.04.20 加入

通过博客来提高下对自己的要求

评论

发布
暂无评论
缓存系统设计与实现