传统运维 - Redis使用规范
2019-10-24
实例申请和命名
- 非常重要的项目如上课相关的项目 Redis 使用独立的一个实例(如需集群,需额外申请)
- Redis 一个实例属于一个部门,每个库对应一个项目,负责人就是这个项目的负责人,实例的命名按部门-环境-等级(分 123 级)-编号划分。例如:web-test-l3-1
存取标准
- Redis 中不允许存取大于 10M 的包括所有类型的 key,必须要大于 10M 写明原因及预估最终会增长到多少,根据需求申请相应的配置
- 列表长度不允许超过 5000,已有超过的项目按自定义的不同纬度逐步拆分
禁止使用的命令
- Redis 中不允许有 keys *遍历查询,严重情况会造成服务长时间不可用
- Redis 中不允许使用 hgetall 查询,会造成网络阻塞和带宽报警
- 如有其它一次获取大量数据的其它命令或一些命令的集合也不允许使用
- 代码不允许存在 flushall 操作
人工查询及删除
- Redis 的 key 查询需要走审批流程由 DBA 统一查询
- Redis 的 key 删除需要走审批流程由 DBA 统一操作
安全
- Redis 必须启用身份认证,密码强度需满足:≥ 8 位,字母 + 数字 + 特殊符号,线上线下都需要
过期时间
- 所有的 key 必须设置过期时间,过期时间根据业务不同而不一样,最长允许设置的过期时间为 3 个月(会在业务支持的条件下逐步缩短),超过 1 天的过期时间需要在项目评审过程中给出原因。
日志
- Redis 使用耗时长的读取数据量大的必须在日志中把命令打印出来——需要规范格式。
其它
- Redis 清空不影响业务,旧业务逐步改造
- 新服务强制 5.0 版本