PHP操作redisクラスターセンチネルモード

先ほど、プロジェクトでredisクラスターセンチネルデプロイメントが使用されただけだったので、知らなかったので、私は困惑し、いくつかの情報を調べました。

フロンティアに書き込み:プロジェクトが拡大するにつれて、redisへの依存度も高まります。redisのパフォーマンスを向上させ、ハングするのを防ぐために、プロジェクトでredisセンチネルを使用してredisクラスターを監視する最初の試み。

 

センチネルモード:原理をざっと見たが詳細は分からなかったが、何か問題があれば助言を求める。redisマスターライブラリのハートビートパッケージを監視します。ハートビートが切断されている場合は、スレーブライブラリを列挙して新しいマスターライブラリにして、redisのサービスが停止しないようにします。

このメソッドは、php-redis拡張機能のrawCommand関数によって完了します(この関数は、2.2.7以降のphp-redis拡張機能を使用してインストールする必要があります)監視モードの動作原理がわからない場合は、最初にクエリを実行できます。理解しやすくするために、簡単に確認しましたが、


// redisオブジェクトを初期化します
$ redis = new Redis();
//センチネルサービスホストをip、ポートをポート、監視IPとポート番号として
接続$ redis-> connect($ host、$ port);

//メインライブラリリストとそのステータス情報を取得します
$ result = $ redis-> rawCommand( 'SENTINEL'、 'masters');

//対応する情報を取得するためにメインライブラリの構成されたredis名に従って
//操作とメンテナンスによってmaster_nameに通知する必要があります(前の手順の情報からも取得できます)
$ result = $ redis-> rawCommand( 'SENTINEL'、 'master'、 $ master_name);

//対応するスレーブライブラリリストとその情報を取得するために構成されたマスターライブラリのredis名に従って
$ result = redis-> rawCommand( 'SENTINEL'、 'slaves'、$ master_name);

//特定の名前のredisメインライブラリアドレスを取得します
$ result = $ redis-> rawCommand( 'SENTINEL'、 'get-master-addr-by-name'、$ master_name)
//上記の部分はIPを取得し、ポートに対応して、プログラムは単一のredisリンク操作へのリンクとして直接使用できます 
————————————————
Copyright Notice:この記事はCSDNブロガー「Dajin Chain Small Watch」のオリジナル記事です。 CC 4.0 BY-SA著作権契約に従い、元のソースリンクとこのステートメントを添付してください。
元のリンク:https://blog.csdn.net/u010824676/article/details/81011887

おすすめ

転載: www.cnblogs.com/myJuly/p/12686520.html