phpRedis迁移到集群和一致性哈希


phpRedis migration to cluster and consistent hashing

我们目前使用PhpRedis扩展,我们的代码是使用PhpRedis中的类Redis编写的。但现在我们正在迁移到redis集群。

是否可以使用类Redis连接到Redis集群?还是我们需要重新编写代码并使用类RedisArray?

我们也需要有一致的哈希。我们添加了像{user}:1这样的密钥,这样我们以后就可以进行一致的哈希处理。

主要问题是获取所有使用类Redis编写的代码并将其更改为RedisArray

我是redis的新手,所以请提供一些建议

感谢

这是PHPredis Nicolas的一位作者的电子邮件回复。我感谢他花时间回复我。

你好,

首先我想澄清一下RedisArray类并没有为RedisCluster提供客户端库。它使用一致的哈希将数据分发到一组独立的Redis节点,并提供了一个通用接口,使开发人员可以避免自己编写分发层。

Phpredis目前不支持Redis集群。

回答您的问题:

  • 使用RedisArray可以连接到4台redis服务器
  • RedisArray提供了一致的哈希,您可以选择哪个部分的密钥将用于分发
  • RedisArray类有一些限制。特别是多键命令(例如ZINTERSTORE)大多在一个节点上执行,但也有一些确实提供集成分发(例如DEL、MGET)

要了解更多关于RedisArray类的信息,请参阅GitHub上的文档。

他们现在增加了对Redis集群的支持https://github.com/phpredis/phpredis/blob/feature/redis_cluster/cluster.markdown#readme