laravel使用redis集群报错“CROSSSLOT Keys in request don't hash to the same slot”解决
在laravel中连接了redis集群,同时将队列驱动也设置成为了redis,在不修改默认代码的情况下向队列中写入任务,就会看到标题中的报错
CROSSSLOT Keys in request don't hash to the same slot
问了AI给出的回答是:
在使用 Redis 集群时,CROSSSLOT Keys in request don't hash to the same slot 错误表示你在单个命令中使用的多个键没有被哈希到同一个槽(slot)。Redis 集群要求在单个命令中使用的所有键必须位于同一个槽中,以确保数据的一致性和操作的原子性。
同时结合多方解决方案的搜索结果,最终我的修改点是在环境变量中添加REDIS_QUEUE={queue}
,原理这篇博客讲的比较简单明了了,可以参考 https://blog.csdn.net/shaofei_huai/article/details/119547945
另外附上解决过程中参考的其他文章,希望对大家有帮助: