我想删除所有密钥。我要把一切都删掉,给我一个空白的数据库。
有没有办法在Redis客户端中做到这一点?
我想删除所有密钥。我要把一切都删掉,给我一个空白的数据库。
有没有办法在Redis客户端中做到这一点?
当前回答
这适用于我:redis cli KEYS\*| xargs--max procs=16-L 100 redis cli DEL
它列出了redis中的所有密钥,然后使用xargs传递给redis-cli DEL,每个命令最多使用100个密钥,但每次运行16个命令,当由于安全原因没有FLUSHDB或FLUSHOLL时,非常快速且有用,例如在Docker或Kubernetes中使用Bitnami的redis时。而且,它不需要任何额外的编程语言,只需要一行。
其他回答
使用以下命令启动Redis服务器后:service Redis server start--port 8000或Redis server。
使用redis cli-p 8000在不同的终端中作为客户端连接到服务器。
您可以使用
FLUSHDB-删除当前选定DB的所有键。此命令从未失败。此操作的时间复杂度为O(N),N是数据库中的密钥数。FLUSHOLL-删除所有现有数据库的所有键,而不仅仅是当前选定的键。此命令从未失败。此操作的时间复杂度为O(N),N是所有现有数据库中的密钥数。
检查ASYNC选项的文档。
如果您通过其python接口使用Redis,请使用以下两个函数实现相同的功能:
def flushall(self):
"Delete all keys in all databases on the current host"
return self.execute_command('FLUSHALL')
and
def flushdb(self):
"Delete all keys in the current database"
return self.execute_command('FLUSHDB')
如果要清除窗口中的redis:在中查找redis cli
C: \Program Files\Redis并运行FLUSHILL命令。
停止Redis实例。删除RDB文件。启动Redis实例。
你可以在航站楼使用flushhall
redis-cli> flushall
使用redis cli:
FLUSHDB–从连接的当前数据库中删除所有密钥。FLUSHOLL–从所有数据库中删除所有密钥。
例如,在shell中:
redis-cli flushall