redis中大key题目的办理思绪

打印 上一主题 下一主题

主题 209|帖子 209|积分 627

redis中如果某一个key-value值过大,在访问量比力高的时候就可能会造成网络带宽不足,例如一个value值存储大小为5MB,同时有5000个并发访问,网络带宽必要209.7 Gbps,这必然会造成网络阻塞。其次redis中是单线程布局如果一个key-value值占用内存过大,传输时占用此线程时间过长,会影响其他数据的读取效率
在办理大key题目时,首先我们的找出大key:

  • redis-cli --bigkeys命令。可以用来找到某个实例5种数据类型(string、hash、list、set、zset)最大的key。

    • 长处:不阻塞服务
    • 缺点:信息较少(只有各类型最大的key信息),内容不敷精确(例如hash/list/set/zset都是以元素个数权衡大key,但实际上元素个数多不代表占用内存大)。

  • redis-rdb-tools工具。redis实例上执行bgsave,然后对dump出来的rdb文件进行分析。

    • 长处:获取信息更具体
    • 缺点:必要离线操纵,获取结果时间较长

  • 使用及时Top key工具

    • 长处:准确性高、对性能几乎无影响。
    • 缺点:展示的Key数量有一定限制,但能满意通例场景下的需求。

 
所以我们在计划key值时应该只管避免大key题目的出现,以下是我的办理思绪:
1、大key题目我们只管在计划之初就避免此题目的产生,合理计划业务访问量较大的数据布局,只管避免在访问量较大的同时数据内存也过大
2、及时扫除无效数据,例如list过长此中又存储着很多无效数据、hash中有大量无效数据,避免无效数据占用内存
3、必要时可以将redis中数据进行压缩,用时间换取空间
4、硬件上可以增加网络带宽提高网络传输

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

星球的眼睛

高级会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表