Redis 开发规范
1. 键名建议
- 可读性和可管理性
以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id。
- 简洁性
保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视
- 不允许包括特殊字符
不能包含空格、换行、单双引号以及其他转义字符
2. Value 建议
- 拒绝大key
string类型控制在10KB以内,hash、list、set、zset元素个数不要超过5000。
- 选择合适的数据类型
- 控制key的生命周期,redis不是垃圾桶。
建议使用expire设置过期时间(条件允许可以打散过期时间,防止集中过期),不过期的数据重点关注idletime。
项目里一般强制要求所有都设置过期时间,避免由于redis问题导致服务不可用
3. 命令使用
- O(N)命令 关注N的数量
- 禁用命令
禁止线上使用keys、flushall、flushdb等,通过redis的rename机制禁掉命令,或者使用scan的方式渐进式处理。
- 推荐使用批量操作,提高效率
原生命令:例如mget、mset。 非原生命令:可以使用pipeline提高效率。
- redis 事务性能弱,不建议使用
参考链接:https://zhuanlan.zhihu.com/p/88634591
版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权,烦请告知,我们会立即删除并致歉!
微信扫一扫 关注公众号
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!