0

我正在使用 Predis 连接到 Redis 3.0.2 集群。所以,我可以选择使用其中之一predisredis集群策略。我想知道选择其中一个而不是另一个有什么显着的利弊?

根据我浏览文档的过程,我想到了以下几点,但我不确定我的理解是否正确:

  1. 使用redis策略时,我们不必在建立连接时列出集群的每个节点。参考(可能是专业人士:))

    使用 redis-cluster 时,不必传递组成集群的所有节点,但您只需指定几个节点即可

  2. 上面链接的文章的下一行说:

    Predis 将通过联系其中一台服务器直接从 Redis 自动获取完整和更新的插槽映射。

就性能而言,这可能是一个骗局吗?因为 Predis 在决定选择哪个节点进行当前读/写操作之前需要从服务器获取一些数据?

语境:

我们计划使用 Redis 来存储 PHP 会话。它是一个 AJAX 繁重的 Web 应用程序,在高峰时段拥有数千名活跃用户。这就是为什么我们希望将负载分散到多个 Redis 节点上。我们很乐意在连接建立代码中手动维护服务器地址列表,以便使用策略,如果与此特定用例predis的策略相比,它有望提供明显更好的性能。redis

4

1 回答 1

2

IIUC 您正在内部辩论使用 Predis 的客户端分片与使用 Redis v3 的集群功能。

当数据库不支持时,客户端分片非常适合使用集群,这种方法通常是最初最容易实现的。但是,当数据库确实提供了本机集群功能时——就像 Redis v3 的情况——你几乎总是最好使用它。

在性能方面,我不确定这些方法之间是否有任何显着差异。Redis 分区也在http://redis.io/topics/partitioning讨论

于 2015-06-10T16:14:40.797 回答