首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
躺平怪
中南大学 C++
发布于广东
关注
已关注
取消关注
@每天两题神清气爽:
Redis 大 key 要如何处理?
面试官:Redis 大 key 要如何处理?一般来说,下面两种情况被称为大keyString类型的值大于10KBHash、List、Set、ZSet类型的元素个数超过5000个大Key会造成以下问题:客户端超时阻塞:由于Redis执行命令是单线程处理,然后在操作大key时会比较耗时,阻塞其他命令的执行引发网络阻塞:每次获取大key产生的网络流量较大,如果一个key的大小是1MB,每次访问量是1000,那么每秒会产生1000MB的流量,这对普通千兆网卡的服务器是灾难性的阻塞工作线程:如果使用del删除大key时,会阻塞工作线程,这样没法处理后续命令内存分布不均,集群模型在slot分片均匀情况下,会出现数据和查询倾斜情况,部分有大key的Redis节点占用内存多,QPS也会比较大。怎么找到大key呢?通过 redis-cli --bigkeys 命令查找大key:最好在从节点或者业务低峰阶段进行扫描查询,以免影响实例正常运行该方法也存在不足,只能返回每种类型中最大的那个Key,且对于集合类型来说只统计集合元素个数多少而非实际占用的内存。 redis-cli -h 127.0.0.1 -p6379 -a "password" -- bigkeys使用 scan 命令查找大Key使用scan命令对数据库扫描,然后用type命令获取返回的每一个key的类型。对于String类型,可以直接使用strlen命令获取字符串的长度,也就是占用的空间字节数对于集合类型来说,有两种方法可以获得它占用的内存大小:如果能够预先从业务层知道集合元素的平均大小,那么可以使用下面的命令获取集合元素的个数,然后乘以集合元素的平均大小,这样就可获得集合占用的内存大小了。List类型:`LLEN`;Hash 类型:`HLEN` ;Set 类型:`SCARD` ;Set 类型:`SCARD`。如果不能提前知道写入集合元素大小,可以使用 memory usage命令,查询一个键值对占用的内存空间。使用RdbTools工具查找大keyRdbTools第三方开源工具可以用来解析Redis的RDB文件,找到其中的大key。比如下面这条命令,将大于10Kb的Key输出到一个表格文件rdb dump.rdb -c memory --bytes 10240 -f redis.csv如何删除大Key呢?删除操作的本质是要释放键值对占用的内存空间。释放内存后为了更加高效的管理内存空间,操作系统需要把释放掉的内存块插入一个空闲内存块的链表,以便后续进行管理和再分配,这个过程本身需要一定时间,而且会阻塞当前释放内存的应用程序。所以如果一下子释放了大量内存,空闲地址块链表操作时间就会增加,相应的就会造成redis主线程的阻塞。主线程阻塞,其他所有请求都可能会超时,超时越来越多,会造成redis连接耗尽,产生各种异常。因此删除一个大key,要小心。分批次删除。对于删除大Hash,使用hscan命令,每次获取100个字段,再用hdel命令,每次删除1个字段。对于删除大List,通过ltrim命令,每次删除少量元素对于删除大 Set,使用 sscan 命令,每次扫描集合中 100 个元素,再用 srem 命令每次删除一个键。对于删除大 ZSet,使用 zremrangebyrank 命令,每次删除 top 100个元素。异步删除Redis4.0开始,可以采用异步删除法,用unlink命令代替del来删除。这样Redis会将这个key放入到一个异步线层中进程删除,不会阻塞主线程。
点赞 11
评论 4
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
01-22 18:02
太原科技大学 Java
善意竟成了被甩锅的导火索!
#围观美财长回应斩杀线甩锅# 2025年年中,一个风和日丽的周五下午,我带着美丽的心情,在公司,完善项目网站的一个功能,查看数据库的时候,突然发现一张表里的数据很奇怪。那是个业务数据表,按理说在几秒的时间内,不应该出现三条同样的经办数据(一个客户不可能在几秒内,做三次业务),可偏偏,很多用户数据都出现了这种情况。关键还是正式环境,客户是政府单位的,后面要是稽查起来,不敢想了。虽然不是我做的功能,但还是给我吓的,尿不湿都湿了。 我赶紧给项目经理说了情况,结果就被扣了帽子,说我发现了,怎么不赶紧改,还问是什么原因?直接给我干懵了,我是赶紧看那个功能代码呀,那会是真的害怕了,框框一顿看,后面才发现了...
点赞
评论
收藏
分享
01-22 12:55
阿里云_研发工程师JAVA(准入职员工)
shein内推,shein内推码
整体的感受还是拆分四个板块吧 1.个人成长-目前业务也在快速扩张期,有很多空白板块可以继续进行搭建,所以在背靠跨境的业务的同时也是可以积累非常可视化的经验,数据分析,项目管理,团队管理,绩效达成落地方案,都是必须需要掌握的技能 2.工作氛围-没有PUA也没有精神内耗,团队偏年轻化领导接近一线业务,没有精神鸿沟的同时具有亲和力的,下班时间和同事相处十分融洽,所以从整体感受来讲会比较轻松 3.福利待遇-位置在四海城附近整体周围的基础设施还是比较齐全,附近大型商场,免费下午茶 4.思维转变-从怕犯错再到勇于去尝试,只要在shein能够有想法且方案足够落地,即使会有踩坑,环境上大家还是比较包容,且结果...
SHEIN希音公司福利 337人发布
点赞
评论
收藏
分享
01-07 14:53
门头沟学院 大数据开发工程师
第一天上班感觉天塌了
感觉自己比周围人都蠢,简直是蠢笨如猪,什么都不会,系统也登不上,sop也不熟悉,甚至感觉电脑都用不明白了,mt交代的任务是左耳朵进右耳朵出……
叁六玖:
别人说的时候,你可以说我记一下或截图记录,稍微慢点说,我就是这样的,同事一般也会配合你
入职第一天
点赞
评论
收藏
分享
2025-12-09 15:55
湖南大学 安卓
互联网算法薪酬杀疯了
非人才计划都能上80w+,今年互联网大厂为了抢人才真的是杀疯了,壕无人性,太土豪了,小红书更是遥遥领先……算法真的是年年攀升啊,看的都想跳槽了小红书:50k*16+期权,57k*16+签字费京东:42k*20,46k*20字节:42k*15+签字费腾讯:42k*15+签字费+股票小红书今年是真的炸裂,非人才计划都能给到这么多,字节,腾讯,美团他们都有各自的人才计划,基本上都是破百万的岗位,目前看到最高的就是字节给北邮开了228w的年薪,非常夸张,可见大厂对于人才资源倾斜真的很离谱!
码客明:
小红书要冲上市了,不能有差错,狠狠的砸钱
点赞
评论
收藏
分享
01-20 16:25
门头沟学院 Java
看不惯的一直都没改变
一、学历至上:能力被学历 “踩在脚下”在这个竞争激烈的求职市场,学历似乎成了一道难以逾越的鸿沟。“本科及以上学历”“985、211 院校优先” 这样的字眼在招聘信息中随处可见,仿佛学历就是衡量一个人能力的唯一标准 。我有个朋友,大专学的是计算机专业,在校期间就参与了好几个项目,技术能力相当出色。毕业后,他投递了一家知名互联网公司的程序员岗位,满心期待能凭借自己的实力获得认可。可仅仅因为学历是大专,连简历筛选这一关都没过。而那些学历更高但实践经验和技术能力远不如他的求职者,却轻松获得了面试机会。这种学历歧视真的合理吗?一个岗位,最重要的难道不是能否胜任工作吗?很多专科生、普通院校的学生,他们在大...
找工作以来,你最看不惯_...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
实习产出如何包装?
9328
2
...
32岁程序员猝死,底薪3千要24h待岗
2904
3
...
【官方活动】牛客新春计划:给陌生人的一封信
2636
4
...
实习生怎么快速融入团队
2368
5
...
后端从0开始来得及吗
1399
6
...
27届实习全时间全方位大体指南
1350
7
...
20多岁最痛苦的年纪
1277
8
...
绷不住了,找了一个月实习嵌入式还找不到
1231
9
...
25届工作半年,想辞职了
1131
10
...
在咖啡店、家里、公司走廊哪里都可以来一场面试
1061
创作者周榜
更多
正在热议
更多
#
哪些公司开春招了?
#
11869次浏览
123人参与
#
四大天坑是哪四家?
#
101255次浏览
235人参与
#
上班以后,你还有哪些坚持的爱好?
#
8059次浏览
185人参与
#
一人一个landing小技巧
#
142938次浏览
1497人参与
#
你最近因为什么迷茫?
#
36320次浏览
582人参与
#
互联网公司评价
#
479447次浏览
4087人参与
#
你觉得什么岗位会被AI替代
#
34778次浏览
230人参与
#
我和mentor的爱恨情仇
#
101533次浏览
919人参与
#
找工作以来,你最看不惯__
#
16617次浏览
331人参与
#
工作压力大怎么缓解
#
138521次浏览
1251人参与
#
聊聊你的被动加班经历
#
3834次浏览
72人参与
#
实习离职怎么跟领导说
#
76092次浏览
432人参与
#
AI coding的好用工具分享
#
20476次浏览
397人参与
#
实习教会我的事
#
51985次浏览
408人参与
#
实习怎么做才有更好的产出
#
13327次浏览
239人参与
#
百度工作体验
#
302359次浏览
2219人参与
#
百度求职进展汇总
#
653970次浏览
6275人参与
#
你今年的保底offer是哪家
#
164527次浏览
701人参与
#
你都在哪些场所面过试?
#
21665次浏览
233人参与
#
实习生工资多少才算正常?
#
14068次浏览
211人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务