资料内容:
(一)Key 定义规范
【必须】key 禁止使用特殊字符:如空格、换行符、单双引号及其
他转义字符等。
【建议】 key 的命名需遵循小写原则,且不允许重复 key,否则
会产生覆盖情况,合理控制 key 的长度,避免使用过长的 key 或
者过简单的 key,减少内存消耗并增加易读性,一般 key 长度不建
议超过 30 字符。
【建议】建议使用“项目名”+“分隔符”+“业务含义” 的英文
作为 key 的前缀,防止 key 冲突,":" 或 "." 作为间隔,字符包
含 A-Z,a-z,0-9,提高可读性和可维护性,如: dppt:kpyw:
(二)Value 使用规范
【必须】禁止使用 bigkey ,如:string 类型控制在 10KB 以内,
hash、list、set、zset 元素个数不要超过 5000(bigkey 的大小
和个数不是绝对值,与 key 的访问频次有关,尽量用简小的数据
结构)。
【建议】避免使用超大 field 的复杂类型对象,超大类型的 field
需要进行切割。
【建议】防止大 Key 过期时间自动删除问题。
【建议】非字符串的 bigkey,尽量避免使用整体 del 删除,使用hscan、sscan、zscan 方式渐进式删除,可 pipeline 加速,同时
要注意防止 bigkey 过期时间自动删除问题导致的性能损耗。
(三)实例及资源使用规范
【建议】单一职责原则:一个业务使用一个实例,避免多个业务共
用一个实例。
【建议】设计合理的缓存命中率,缓存的命中率应该高达 80%以上,
至少不低于 60%,否则需检查是否有不合理的缓存使用。
(四)缓存失效规范
【必须】提前评估数据的生命周期,合理设置数据过期时间和失效
策略,如无特殊情况,所有 key 必须设置过期时间。