菜鸟面试题java,Redis中scan命令踩坑,Java知识点思维导图

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值来运行。具体过程如下:

在这里插入图片描述

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

奇怪的是,前面几行都是正常的。但是到了第三次的时候,dbsize变成了16999,多删了1个,我也没太在意,但是最后在dbsize还剩下124204个的时候,数量就不动了。之后无论再执行多少遍,数量还依旧是124204个。

随即我直接运行scan命令:

在这里插入图片描述

发现游标虽然没有到达末尾,但是key的列表却是空的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值