我正在尝试测试我的缓存是使用redis群集实现的(群集服务器不是客户端)。 每次运行单元测试时我都必须刷新redis。 当我尝试运行flushdb命令时出现此错误: 不能使用' FLUSHDB'用redis-cluster。 似乎我只能在设置插槽时才能在集群模式下运行flushdb命令,但我不知道该怎么做。 (我已经覆盖了laravel的redis包装器,所以laravel不是这样的情况如果你了解我如何使用predis我可以采用laravel)
答案 0 :(得分:0)
对于按模式删除:
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 从主节点上删除所有节点(从节点将被同步)