我们目前正在使用PhpRedis
扩展,我们的代码是使用Redis
来自的类编写的PhpRedis
.但现在我们正在迁移到redis集群.
是否可以使用Class Redis连接到redis群集?或者我们是否需要重新编写代码并使用Class RedisArray?
我们也需要一致的哈希.我们添加了这样的键,{user}:1
以便我们以后可以进行一致的哈希处理.
主要问题是使用类编写的所有代码Redis
并将其更改为RedisArray
.
我是redis的新手,所以请提供一些建议
谢谢
这是来自PHPredis Nicolas的作者之一的电子邮件回复.我感谢他抽出时间回复我.
嗨,
我只想首先澄清一下RedisArray类没有为Redis Cluster提供客户端库.它使用一致的散列将数据分发到一组独立的Redis节点,并提供一个通用接口,以便开发人员可以避免必须自己编写分发层.
Phpredis目前不支持Redis Cluster.
解决你的问题:
可以使用RedisArray连接到4台redis服务器.
RedisArray提供一致的散列,您可以选择密钥的哪一部分用于分发.
RedisArray类有一些限制.特别是,多键命令(例如ZINTERSTORE)主要在一个节点上执行,但有些确实提供了集成分配(例如DEL,MGET).
要了解有关RedisArray类的更多信息,请参阅GitHub上的文档.
他们现在增加了对Redis集群的支持 https://github.com/phpredis/phpredis/blob/feature/redis_cluster/cluster.markdown#readme