Redis key设计规范

规范说明
设计合理的key中value的大小,推荐小于10KB过大时的value会引起数据倾斜、热点key、实例流量、或者cpu性能被占满等问题。
设计合理的key名称和长度key名称:1)使用可读的字符串作为key名,使用key名拼接库、表、字段名推荐使用英文冒号“:”分割,如project:user:001;2)在能完整描述业务的前提下,尽量简化key长度,如userName简化为u;3)大括号{}为redis的hash tag语义,如果是集群架构,key名称需要正确地使用大括号,避免引发数据倾斜。key长度:key名长度不超过128字节(越短越好)
对于支持key的复杂数据结构,应避免一个key中包含过多的子key(推荐低于1000)有些命令的(例如hgetall)的时间复杂度于key中子key的数量相关,如果频繁执行时间复杂度为O(N)及以上的命令,key中的子key数量过多,容易引发慢请求、数据倾斜或热key问题
使用串行化方法将value转变为可读结构编程语言的字节码睡着版本可能会变化,如果存储裸对象(例如java object、c#对象)会导致整个软件栈升级困难
字符串长度小于39字节在高并发写入场景下,条件允许的下,建议字符串长度控制在39字节以内,减少创建redisObject内存分配次数,提高性能。
ziplist长度不要超过1000,每个元素大小控制在51 2字节以内性能要求比价高的场景使用ziplist,建议长度不要超过1000,每个元素大小控制在512字节以内
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值