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