linux redis 查询key,Redis-从海量数据里查询某一固定前缀的key

生产环境,查找key开头的数据

场景模拟,线上Redis查询数据量大

key xx* 缺点

因为:

一次性返回数据量大,卡住。对内存消耗和Redis服务器都是隐患

建议:

时间花费,因为是分批次,会长

Scan无阻塞提取列表,每次执行返回少量元素

游标0->0,非递增小心要去重,存入HashSet

count是上下浮动的

key查询全部

992c7fc00899d4a6f51e6d2621c17986.png

时间消耗

ff0d7a38dedd044ec1457a655e6b3f98.png

scan

0e16b65e867582096d2440437f021ca7.png

定制化开发包使用

不同语言对应不同开发包,改定制化需求

908df1a1f54be4e1bc034324bcce16ab.png

批量生成redis测试数据

batchRedis.txt

批量生成redis测试数据

1.Linux Bash下面执行

for((i=1;i<=20000000;i++)); do echo "set k$i v$i" >> /tmp/redisTest.txt ;done;

生成2千万条redis批量设置kv的语句(key=kn,value=vn)写入到/tmp目录下的redisTest.txt文件中

2.用vim去掉行尾的^M符号,使用方式如下::

vim /tmp/redisTest.txt

:set fileformat=dos #设置文件的格式,通过这句话去掉每行结尾的^M符号

::wq #保存退出

3.通过redis提供的管道--pipe形式,去跑redis,传入文件的指令批量灌数据,需要花10分钟左右

cat /tmp/redisTest.txt | 路径/redis-5.0.0/src/redis-cli -h 主机ip -p 端口号 --pipe

本文同步分享在 博客“瑞 新”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值