Redis中scan命令踩坑,本文告诉你千万别乱用,Java数据库题目大全

本文探讨了Redis中scan命令的使用陷阱,提醒开发者避免滥用。同时,结合Java数据库操作,提供了全面的题目分析,帮助提升大数据处理能力。
摘要由CSDN通过智能技术生成

local dataList = resp[2]

for i=1,#dataList do

local d = dataList[i]

local ttl = redis.call('TTL',d)

if ttl == -1 then

    redis.call('DEL',d)

end

end

if c==0 then

return ‘all finished’

else

return ‘end’

end




在本地的测试redis环境中,通过执行以下命令mock了20w的测试数据:



eval “for i = 1, 200000 do redis.call(‘SET’,‘authToken_’ … i,i) end” 0




然后执行script load命令上传lua脚本得到SHA值,然后执行evalsha去执行得到的SHA值来运行。具体过程如下:  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210510220848887.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDgwMTk3OQ==,size_16,color_FFFFFF,t_70)  

我每删1w数据,执行下dbsize(因为这是我本地的redis,里面只有mock的数据,dbsize也就等同于这个前缀key的数量了)。



奇怪的是,前面几行都是正常的。但是到了第三次的时候,dbsize变成了16999
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值