7

我正在尝试测试我的缓存是用 redis 集群实现的(由服务器而不是客户端集群)。每次运行单元测试时,我都必须刷新 redis。当我尝试运行 flushdb 命令时出现此错误:无法将“FLUSHDB”与 redis-cluster 一起使用。似乎只有在设置插槽时才能在集群模式下运行 flushdb 命令,但我不知道该怎么做。(我已经覆盖了 laravel 的 redis 包装器,所以 laravel 不是这种情况如果你学习我如何使用 predis,我可以将它与 laravel 一起采用)

4

1 回答 1

1

按模式删除:

redis-cli --raw keys "$PATTERN" | xargs redis-cli del

例如:

redis-cli KEYS "prefix:*" | xargs redis-cli DEL

要从一个数据库中删除所有键:

redis-cli flushdb

要从所有数据库中删除所有密钥:

redis-cli flushall

对于集群模式,您需要使用此 bash 脚本: https ://gist.github.com/yaud/85e0382d26c189bdf84f0297cd54f479 从主节点中删除所有节点(将从节点同步)

于 2018-12-26T07:26:32.140 回答