redis集群负载均衡失效

集群配置

  1. 公司内部使用cache-client (搜狐开源缓存 https://github.com/sohutv/cachecloud)
  2. 一个取经团或者某个中心下使用一个appId(项目只需要配置appId,引入cache-client依赖即可使用缓存)

原因分析

  1. 拉取我们取经团下部分key分析,确认是否为这部分key导致(通过RDB文件备份起来;并以json格式解析存储) – 由于项目使用key过多 没有发现问题
  2. 确认key或value中是否有 “{” 或 “}” ,因为有这两个字符会导致根据key生成hash值,落到集群节点上的槽失效在这里插入图片描述
  3. 发现大key或者value

问题解决

  1. 确认是代码中使用hset导致
  2. 通过底层源码可知 hset使用为同一个key
    在这里插入图片描述
  3. field只是作为一个属性
  4. 官方中文文档有,但当时没有真正理解(http://redisdoc.com/hash/hset.html)
    在这里插入图片描述
  5. 使用set、setEx替换即可

延伸阅读

参见文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello_world!

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值