场景
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然后,将结果保存到文件中,再进行循环执行删除每个建,
然后将文件删除。
实现效果