场景

Windows中的Redis存储的某命名空间下的Redis的键值对,都是以指定前缀开头的,比如

 

 

比如这里想要将mine:这个前缀开头的都删除掉。

除了使用Redis的可视化工具连接到Redis服务端找到这个命令空间,然后整个删除掉。

如果此时这个命名空间下数据量已经非常大,比如800万条数据,直接使用Redis的可视化工具已经没法

打开,甚至加载不出来删除的按钮。可以通过redis的客户端执行命令进行删除掉。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新建一个文本文档,内容如下

@echo off
set keysfile=redis-cached-keys.txt
redis-cli -n 0 -a 123456 keys "mine:*" > %keysfile%
FOR /F %%i in (%keysfile%) DO (redis-cli -n 0 -a 123456 del %%i)
DEL /F /Q %keysfile%
pause

注意这里的

-n 代表要操作的数据为0号数据, -a 代表是连接密码

然后将此文件的后缀名改为bat,并将其复制到Redis的解压目录下,即redis.cli所在的目录下

 

 

然后这个bat命令是使用redis-cli连接到redis的server端,然后先在本地新建一个文本文件,

再读取以mine:开头的key然后,将结果保存到文件中,再进行循环执行删除每个建,

然后将文件删除。

实现效果

 

 

 

posted on 2021-05-18 19:50  霸道流氓  阅读(1522)  评论(0编辑  收藏  举报