Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
redis挂起在flushall命令上_Redis_Flush - Fatal编程技术网

redis挂起在flushall命令上

redis挂起在flushall命令上,redis,flush,Redis,Flush,我使用FLUSHALL命令删除我的redis缓存。从文件: 删除所有现有数据库的所有键,而不仅仅是 当前选定的一个。此命令永远不会失败 但它挂在我巨大的redis实例上(在我的例子中大约是20GB),然后我终止redis服务器,清除redis备份目录并重新启动redis服务器。一切似乎都很好,但这是一个好方法吗?为什么要挂起?它挂起是因为它必须删除数百万项。这需要一段时间,因为它必须扫描所有内容。您可能还交换了部分数据 您可能需要检查机器在flushall运行时是否未交换。我也遇到过同样的问题,

我使用FLUSHALL命令删除我的redis缓存。从文件:

删除所有现有数据库的所有键,而不仅仅是 当前选定的一个。此命令永远不会失败


但它挂在我巨大的redis实例上(在我的例子中大约是20GB),然后我终止redis服务器,清除redis备份目录并重新启动redis服务器。一切似乎都很好,但这是一个好方法吗?为什么要挂起?

它挂起是因为它必须删除数百万项。这需要一段时间,因为它必须扫描所有内容。您可能还交换了部分数据


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

我也遇到过同样的问题,我的xeon 64G内存大约两个小时没有响应。 最后我用

kill -9 redisPID
rm dump.rdb
service redis restart
工作起来很有魅力)FLUSHALL ASYNC(Redis 4.0.0或更高版本)

Redis现在可以在不同的线程中删除后台的密钥,而不会阻塞服务器。FLUSHALL和FLUSHDB中添加了一个异步选项,以便异步释放整个数据集或单个数据库

异步FLUSHDB和FLUSHDB命令仅删除调用命令时存在的键。异步刷新期间创建的密钥将不受影响