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

时间:2013-12-06 05:37:21

标签: php redis phpredis

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

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

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

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

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

由于

1 个答案:

答案 0 :(得分:5)

这是来自PHPredis Nicolas的作者之一的电子邮件回复。我感谢他抽出时间回复我。

您好,

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

Phpredis目前不支持Redis群集。

解决您的问题:

  • 可以使用RedisArray连接到4台redis服务器。
  • RedisArray提供一致的散列,您可以选择哪个部分 关键是用于分发。
  • RedisArray类有一些limitations。特别是多键 命令(例如ZINTERSTORE)主要在一个节点上执行,但有些 提供综合分销(例如DEL,MGET)。

要了解有关RedisArray课程的更多信息,请参阅documentation on GitHub

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