Redis クライアント接続

Redis は TCP ポートまたは Unix ソケットを監視してクライアントからの接続を受け付けます。接続が確立されると、Redis 内部では以下の操作が行われます:

  • まず、クライアントソケットは非ブロッキングモードに設定されます。Redis はネットワークイベント処理に非ブロッキング多重化モデルを採用しているためです。
  • 次に、このソケットに TCP_NODELAY 属性を設定して、Nagle アルゴリズムを無効にします。
  • その後、このクライアントソケットのデータ送信を監視するための読み取り可能なファイルイベントを作成します。

最大接続数

Redis 2.4 では、最大接続数はコード内に直接ハードコードされていましたが、2.6 バージョンではこの値が設定可能になりました。

maxclients のデフォルト値は 10000 で、redis.conf でこの値を変更することもできます。

config get maxclients

1) "maxclients"
2) "10000"

インスタンス

以下のインスタンスでは、サービス起動時に最大接続数を 100000 に設定しています:

redis-server --maxclients 100000

クライアントコマンド

S.N.コマンド説明
1 CLIENT LIST redis サービスに接続されているクライアントのリストを返します
2 CLIENT SETNAME 現在の接続の名前を設定します
3 CLIENT GETNAME CLIENT SETNAME コマンドで設定されたサービス名を取得します
4 CLIENT PAUSE クライアント接続を一時停止します。一時停止する時間をミリ秒単位で指定します
5 CLIENT KILL クライアント接続を閉じます
その他の拡張