flushdb命令在Redis中不能清除所有的键吗?

4

在运行Redis SHELL命令flushdb后,似乎仍然有一些键没有被删除,

这些键用于什么目的,为什么flushdb不起作用?

1个回答

7
当Redis运行flushdb命令时,它会阻塞对数据库的任何新写入,并刷新数据库中的所有键。然而,当Redis完成flushdb命令后,它可以接收新的写入,即其他Redis客户端可以将新的键放入数据库中。
在您的情况下,我认为还有其他客户端不断向数据库写入。因此,在清空数据库后,其他客户端会向Redis放入新的键。
如果您想停止任何进一步的写入,您必须关闭Redis服务器。

你的建议似乎很合理。我使用的是刚安装了1小时的本地服务器,我没有告诉其他人。所以我认为可能是一些其他的后台服务写入了Redis... - liuchuan98
这是一个很好的答案,只需检查另一个客户端是否正在写入相同的数据库。对我有帮助! - parsethis
3
在我的情况下,我有相同的行为,但没有其他客户端在写入。一些键未被删除,而其他键则被删除了。 - The Data Scientician
@TheDataScientician 我遇到了你提到的同样的问题。你最终找到解决方案了吗? - Dave Black
@DaveBlack 你可以使用 client list 命令来检查是否有其他客户端。 - for_stack
@for_stack 我的情况就像 thedatascientician。我知道没有其他客户。 - Dave Black

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接