predis接続redis sentinelとredis cluster


開発前はphpredisでredisサービスに接続していたが、sentinelとredis clusterの成熟に伴い、redis主従者はsentinelと結合して高可用性を行い、一部のデータと同時の大きなビジネスでredisクラスタを使用した.
phpredisに対して、predisはredis sentinelとredis clusterの接続を原生的にサポートし、プライマリノードがプライマリノードからプライマリノードへの昇格を停止すると、クライアントは自動的に新しいプライマリノードを発見し、redisの高可用性を実現する.
一部のphperはpredisでsentinelとclusterを接続することを知らないので、わざわざpredisのドキュメントを見て、2つのdemoを書きました.
predis接続redis cluster:クラスタに接続するときは、1つのノードまたは一部のノードの情報しか構成できません.ここでの構成はクラスタ内のノードを発見するためであり、接続さえすればクラスタ全体を成功に発見できるノードが1つある限りですが、1つのノードのみを配置することは推奨されません.
 'redis');
        $client = new Predis\Client($servers, $options);
        $i=0;
        for($i=0;$i<100000;$i++){
                try
                 {
                 $client->set($i, "test".$i);
                 $result = $client->get($i);
                 echo date('y-m-d h:i:s',time());
                 echo " ".$result."
";                  }                 catch(Exception $e)                  {                  echo date('y-m-d h:i:s',time());                  echo " ".'Message: ' .$e->getMessage()."
";                  }                 sleep(1);         } ?>

predis接続redis sentinel:
 'sentinel', 'service' => 'master1'];
        $client = new Predis\Client($sentinels, $options);
        date_default_timezone_set('Asia/Shanghai');
        $i=0;
        for($i=0;$i<100000;$i++){
 $client->set($i, "test".$i);
 $result = $client->get($i);
 echo date('y-m-d h:i:s',time());
 echo " ".$result."
";  sleep (1);         } ?>

詳細な使い方はgithubを参照してください.https://github.com/nrk/predis