2014-08-28 52 views
2

我用FLUSHALL命令删除我的redis缓存。来自doc:redis挂在flushall命令上

删除所有现有数据库的所有密钥,而不仅仅是当前选择的数据库的 。这个命令永远不会失败

但它挂在我巨大的redis实例(在我的情况下约20GB),并且我终止了redis服务器,清除了redis备份目录并启动了redis服务器。一切似乎都不错,但是这样做的好方法吗?为什么flushall挂起?

回答

2

它挂起,因为它必须删除数百万个项目。这需要一段时间,因为它必须扫描一切。您也可能会将部分数据换出。

您可能需要检查flushall运行时机器是否不交换。

2

我遇到了同样的问题,我的64G内存的Xeon没有响应两个小时左右。 最后,我使用

kill -9 redisPID 
rm dump.rdb 
service redis restart 

工作就像一个魅力))