Redis开发规范

本文介绍了Redis开发的规范,包括键值设计、命令使用、客户端使用等方面。键名设计要求以字母开头,禁止使用保留字,命名应简洁且有意义。value设计中避免bigkey,禁止存储敏感明文数据。命令使用时应注意O(N)命令的影响,禁用如keys等危险命令,推荐使用批量操作。客户端使用建议避免多个应用共用实例,使用连接池,设置合理的过期时间和内存策略。
摘要由CSDN通过智能技术生成


我基于网络上的资料整理、添加的Redis开发规范。欢迎交流指导:)
转载请注明出处

一、键值设计

1.key名设计

【强制】以英文字母开头,命名中只能出现小写字母、数字、英文点号.和英文半角冒号:

【强制】不该使用含义不清的key以及特别长的key名

【强制】禁止使用Redis保留字命名key

【强制】命名规范:业务模块名:业务逻辑含义:其他

1)业务模块名:具体的功能模块
2)业务逻辑含义段:
【强制】不同业务逻辑含义使用英文半角冒号(:)分割,
【强制】同一业务逻辑含义段的单词之间使用英文半角点号 (.)分割,用来表示一个完整的语义

示例: user:basic.info:1 注:1是用户id

【推荐】简洁性

保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:

user:{uid}:friends:messages:{mid}简化为u:{uid}:fr:m:{mid}

2.value设计

【强制】拒绝bigkey

string类型控制在10KB以内,hash、list、set、zset元素个数不要超5000。以防止网卡流量、慢查询。反例:一个包含200万个元素的list。非字符串的bigkey,不要使用del删除,使用hscan、sscan、zscan方式渐进式删除,同时要注意防止bigkey过期时间自动删除问题(例如一个200万的zset设置1小时过期,会触发del操作,造成阻塞。)

【强制】禁止在Redis中存储敏感的明文数据

【推荐】选择适合的数据类型

例如:
反例:

set user:1:name tom
set user:1:age 19
set user:1:favor football

正例:

hmset user:1 name tom age 19 favor football

3.【强制】关于过期时间

Redis key一定要设置过期时间。要跟自己的业务场景,需要对key设置合理的过期时间。可以在写入key时,就要追加过期时间;也可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值