温馨提示:
本文最后更新于
2021-9-11,已超过半年没有更新,若内容或图片失效,请留言反馈。
命名规范
[强制]
键名可读性和可管理性设计(防止 Key 冲突)<项目名称>:<资源类型>[:<子资源类型>]:资源标识
例如: order:user:info:1
键名建议长度控制在一定范围内, 键名需要尽量做到 “见其名知其意”.
[强制]
Key 名不要包含特殊字符,如空格、换行、单双引号以及其他转义字符
使用规范
-
[强制]
正常情况下, 键必须设置过期时间 -
[强制]
(热点数据) 高频访问数据需存入缓存 -
[强制]
如果缓存的是大文本, 当文本长度过大, 类似的键数量多, 会有较大的内存占用. 并且在访问量高时, 会导致带宽使用过高甚至占满.
因此当文本大小到一定程度时, 例如数十 kb 甚至数百 kb时, 可以考虑使用先压缩, 再缓存 -
[强制]
根据业务场景合理使用不同的数据类型, 切勿过度使用缓存, 必须遵循合理性 -
[强制]
禁止使用模糊匹配keys
、flushall
命令 -
[强制]
慎用hmgetall
,hgetall
,zrange
,smembers
,lrange
命令, 如果操作数据量过大,将会导致阻塞。有遍历需求可以使用hscan
、sscan
、zscan
代替 -
[强制]
注意缓存穿透
,缓存击穿
,缓存雪崩
问题
评论一下?