3

現在、PhpRedis拡張機能を使用しており、コードは のクラスを使用して記述されてRedisPhpRedisます。しかし、現在、redis クラスターに移行しています。

クラス Redis を使用して redis クラスターに接続することは可能ですか? それとも、コードを書き直してクラス RedisArray を使用する必要がありますか?

一貫性のあるハッシュも必要です。この{user}:1ようなキーを追加したので、後でコンシステント ハッシュを実行できます。

主な問題は、クラスを使用して記述されたすべてのコードを取得し、Redisそれを に変更することRedisArrayです。

私はredisが初めてなので、アドバイスをお願いします

ありがとう

4

1 に答える 1

5

これは、PHPredis Nicolas の作成者の 1 人からのメール返信です。私に返事をするために時間を割いてくれたことに彼に感謝します。

やあ、

RedisArray クラスはRedis Clusterのクライアント ライブラリを提供しないことを明確にすることから始めたいと思います。コンシステント ハッシュを使用して独立した Redis ノードのセットにデータを配布し、共通のインターフェイスを提供するため、開発者はディストリビューション レイヤーを自分で作成する必要がなくなります。

Phpredis は現在、Redis クラスターをサポートしていません。

質問への対処:

  • RedisArray で 4 台の redis サーバーに接続できます。
  • RedisArray は一貫したハッシュを提供し、キーのどの部分を配布に使用するかを選択できます。
  • RedisArray クラスにはいくつかの制限があります。特に、マルチキー コマンド (ZINTERSTORE など) はほとんどが 1 つのノードで実行されますが、統合された分散を提供するものもあります (DEL、MGET など)。

RedisArray クラスの詳細については、GitHub のドキュメントを参照してください。

Redis クラスターのサポートが追加されました https://github.com/phpredis/phpredis/blob/feature/redis_cluster/cluster.markdown#readme

于 2013-12-12T10:18:25.640 に答える