我想通过使用快速过程从集群redis删除所有键。我知道如何使用“redis-cli FLUSHALL”删除键。但是当数据集很大时,这个命令可能会很慢。我听说可以通过重新启动redis服务从redis缓存中清除所有键。我正在本地mac笔记本电脑上测试这个过程。我正在执行以下步骤:-
第三步之后我还能看到钥匙
只有当我下命令的时候钥匙才会不见
重新启动后会看到这些键,因为启用了RDB或AOF持久性。请参见https://redis.io/topics/persistence.
默认情况下启用RDB。要禁用持久性,您需要编辑redis. conf或以redis-server--sav""--appendonly no
启动
关于如何使用redis-cli将命令发送到所有群集节点,请参阅是否有办法在群集上刷新所有键,以便从数据库中删除主和从的所有键。
如dizzyf所示,使用FLUSHALL ASYNC
在后台执行删除。这将为每个数据库创建新的哈希映射,而旧的哈希映射由后台线程逐步删除(内存回收)。
在redis4.0及更高版本中,引入了FLUSHALL ASYNC命令,作为一种以非阻塞方式删除所有键的方法。这会解决您的问题吗?
https://redis.io/commands/flushall
感谢您的链接。这些非常有帮助。我能够通过使用-更改我的redis. conf文件来实现结果