Tair (Redis OSS-compatible) インスタンスのパラメーターを微調整して、パフォーマンスとセキュリティを最適化します。サポートされるパラメーターは、エンジンバージョンとアーキテクチャによって異なります。
このトピックでは、Redis オープンソース版インスタンスのパラメーターのみを扱います。メモリ最適化、永続メモリ最適化、ディスクベースのインスタンスを含む Tair Enterprise Edition インスタンスについては、「Tair Enterprise Edition の設定パラメーターリスト」をご参照ください。
注意事項
-
このトピックに記載されているパラメーターのみ設定できます。ここに記載されていないパラメーターは変更できません。
-
一部のパラメーター変更はインスタンスの自動再起動をトリガーし、数秒間の一時的な接続切断が発生します。パラメーター変更ページの [再起動して有効にする] 列で、再起動が必要かどうかが示されます。詳細については、「パラメーターの設定」をご参照ください。
-
パラメーターの設定時に
Parameter is not supported for current versionエラーが表示された場合は、インスタンスのマイナーバージョンをアップグレードしてください。 -
パラメーターの設定時に
ParamNotAllowedModifyエラーが表示された場合、そのパラメーターは現在のインスタンスのアーキテクチャでサポートされていません。このトピックのパラメーター表にある [アーキテクチャ] 列を確認し、ご利用のインスタンスアーキテクチャがサポートしているかを確認してください。例えば、#no_loose_check-whitelist-alwaysはクラシックアーキテクチャ 4.0/5.0 でのみサポートされ、#no_loose_sentinel-enabledは標準およびクラスタアーキテクチャでサポートされ、#no_loose_tls-min-versionはクラスタおよび読み書き分離アーキテクチャでのみサポートされます。現在のアーキテクチャと互換性のあるパラメーターを使用するか、そのパラメーターをサポートするアーキテクチャのインスタンスで設定してください。
サポートマトリックスの読み方
各パラメーター表には、メジャーバージョンとアーキテクチャの列が含まれています。次の注釈が適用されます:
-
✔️ — 指定されたバージョンまたはアーキテクチャでパラメーターがサポートされています。
-
❌ — 指定されたバージョンまたはアーキテクチャでパラメーターがサポートされていません。
アーキテクチャの詳細については、「標準アーキテクチャ」、「クラスタアーキテクチャ」、「読み書き分離アーキテクチャ」をご参照ください。
データベースカーネルパラメーター
アクセス制御
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
#no_loose_check-whitelist-always |
VPC 経由のパスワードなしアクセスが有効になっている場合に、クライアント IP アドレスをインスタンスのホワイトリストと照合してチェックするかどうかを制御します。デフォルト: no。有効値: yes — パスワードなしアクセスを有効にした後でも IP ホワイトリストチェックが強制されます。ホワイトリストにないクライアントは (error) ERR illegal address を受け取ります。no — IP ホワイトリストチェックはスキップされます。同じ VPC 内のクライアントは、ホワイトリストになくても接続できます。説明
このパラメーターはクラシックアーキテクチャのインスタンスにのみ適用されます。クラウドネイティブアーキテクチャのインスタンスは、この設定に関係なく常に IP ホワイトリストを強制します。 |
❌ | ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ |
#no_loose_disabled-commands |
高リスクまたは高コストのコマンドを無効にします。デフォルト: 空 (無効にするコマンドなし)。コマンド名を小文字で、カンマで区切って指定します。例: flushall,flushdb,keys,hgetall,eval,evalsha,script。説明
|
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
#no_loose_tls-min-version |
インスタンスが受け入れる最小 TLS バージョンを設定します。デフォルト: TLSv1。有効値: TLSv1、TLSv1.1、TLSv1.2。 |
標準 ❌ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ❌ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ❌ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ❌ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ❌ クラスタ ✔️ 読み書き分離 ✔️ |
Sentinel モード
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
#no_loose_sentinel-enabled |
直接接続モードの標準またはクラスタインスタンスで Sentinel 互換モードを有効にします。デフォルト: no。有効値: yes、no。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ❌ | ❌ |
#no_loose_sentinel-password-free-access |
Sentinel モードが有効な場合、Sentinel 関連コマンドをパスワードなしで実行できるようにします。デフォルト: no。有効値: yes — どの接続でも Sentinel コマンドをパスワードなしで実行できます。SENTINEL コマンドは +switch-master チャンネルをサブスクライブできます。no — パスワードが必要です。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ |
#no_loose_sentinel-password-free-commands |
Sentinel モードと #no_loose_sentinel-password-free-access の両方が有効な場合に、パスワードなしで実行できる追加のコマンドを指定します。デフォルト: 空。コマンド名を小文字で、カンマで区切って指定します。重要
ここにリストされているコマンドは、どの接続でも認証なしで実行可能です。このパラメーターは注意して設定してください。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ |
永続化
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
appendonly |
プライマリノードで AOF (Append Only File) 永続化を有効または無効にします。デフォルト: yes。有効値: yes — AOF 永続化が有効になります。no — AOF 永続化が無効になります。RDB (Redis Database) 永続化はデフォルトで 1 日 1 回実行されます。「自動または手動バックアップ」をご参照ください。警告 AOF を無効にすると、インスタンスはデータ復旧のために RDB バックアップのみに依存します。極端な障害シナリオでは、最新の RDB バックアップ後に書き込まれたデータが回復できない可能性があります。ビジネスで高いデータ回復性が求められる場合は、AOF を有効にしておくことを推奨します。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
appendfsync |
AOF 永続化の fsync 頻度。デフォルト: everysec (変更不可)。appendonly が yes に設定されている場合にのみ有効です。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
メモリ管理とエビクション
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
maxmemory-policy |
データエビクションポリシー。インスタンスがメモリ制限 (maxmemory) に達したときに、どのキーを削除するかを決定します。説明
|
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
maxmemory-eviction-tenacity |
インスタンスがエビクションサイクルごとにキーをエビクションする積極性を制御します。デフォルト: 10。範囲: 0–100。値を低くすると、サイクルごとのレイテンシは減少しますが、エビクション可能なキーがメモリに多く残る可能性があります。値を高くすると、サイクルごとにより多くのキーをエビクションしますが、レイテンシが高くなります。100 の値はレイテンシを無視し、メモリが maxmemory を下回るか、エビクション可能なキーがなくなるまで継続的にエビクションします。書き込みトラフィックが多い場合は、この値を増やしますが、レイテンシが高くなることを想定してください。説明
Redis 7.0 でのみ利用可能です。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
active-expire-effort |
インスタンスが期限切れキーの削除にサイクルごとに費やす労力を制御します。デフォルト: 1。範囲: 1–10。値を高くすると、期限切れキーの削除が速くなりますが、より多くの CPU を消費します。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ |
client-output-buffer-limit pubsub |
Pub/Sub クライアントの出力バッファ制限。デフォルト: 33554432 8388608 60。フォーマット: <hard-limit> <soft-limit> <soft-seconds>。hard-limit:バッファがこのサイズ (バイト) に達すると、クライアントを即座に切断します。soft-limit と soft-seconds:バッファが指定された秒数間、ソフトリミット以上にとどまった場合にクライアントを切断します。重要
大きな出力バッファはメモリを消費します。コマンドが過度に蓄積すると、データエビクションやメモリ不足によるクラッシュを引き起こす可能性があります。このパラメーターを調整する前に、インスタンスのメモリ仕様を確認してください。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
client-output-buffer-limit normal |
通常のクライアントの出力バッファ制限。デフォルト: 524288000 0 0。フォーマット: <hard-limit> <soft-limit> <soft-seconds>。フォーマットの詳細については、client-output-buffer-limit pubsub をご参照ください。重要
Redis 6.0 以降でのみサポートされています。大きな出力バッファはメモリを消費します。コマンドが過度に蓄積すると、データエビクションやメモリ不足によるクラッシュを引き起こす可能性があります。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ |
非同期削除 (lazyfree)
Lazyfree ベースの削除は、キーの削除をバックグラウンドスレッドにオフロードし、大きなキーの削除によって引き起こされるレイテンシのスパイクを削減します。
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
lazyfree-lazy-eviction |
キーをエビクションするときに非同期削除を使用します。デフォルト: no。有効値: yes、no。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ |
lazyfree-lazy-expire |
期限切れキーを削除するときに非同期削除を使用します。デフォルト: yes。有効値: yes、no。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ |
lazyfree-lazy-server-del |
暗黙的な DEL 操作 (例えば、SET が既存のキーを上書きする場合) に非同期削除を使用します。デフォルト: yes。有効値: yes、no。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ |
lazyfree-lazy-user-del |
明示的な DEL コマンドに非同期削除を使用します。デフォルト: yes。有効値: yes、no。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ |
lazyfree-lazy-user-flush |
FLUSHDB、FLUSHALL、SCRIPT FLUSH、および FUNCTION FLUSH を非同期削除モードに変換します。デフォルト: no。有効値: yes、no。説明
Redis 7.0 でのみ利用可能です。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
バックグラウンドタスクとパフォーマンス
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
hz |
期限切れキーのクリーンアップを含むバックグラウンドタスクの実行頻度。デフォルト: 10 (1 秒あたり 10 回)。範囲: 1–500。値を高くすると、期限切れキーのクリーンアップ頻度とタイムアウトの精度が向上しますが、より多くの CPU を消費します。この値は 100 以下に保ってください。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
dynamic-hz |
クライアントのアクティビティに基づいてバックグラウンドタスクの頻度を動的に調整します。デフォルト: yes。有効値: yes、no。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ |
timeout |
クライアント接続のアイドルタイムアウト (秒単位)。クライアントがこの時間アイドル状態になると、インスタンスは接続を閉じます。デフォルト: 0 (接続は閉じられません)。範囲: 0–100000。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ |
latency-tracking |
コマンドごとのレイテンシ追跡を有効にします。デフォルト: yes。有効値: yes、no。説明
Redis 7.0 でのみ利用可能です。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
tracking-table-max-keys |
クライアント側キャッシュの追跡テーブルに格納されるキーの最大数。デフォルト: 1000000。範囲: 0–1000000000。説明
Redis 7.0 でのみ利用可能です。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
スロークエリログ
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
slowlog-log-slower-than |
スロークエリログのしきい値 (マイクロ秒 (μs) 単位)。この値より長くかかるコマンドがログに記録されます。デフォルト: 20000 (20 ms)。範囲: 10000–10000000。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
slowlog-max-len |
スロークエリログに格納されるエントリの最大数。デフォルト: 1024。範囲: 100–10000。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
キースペース通知
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
notify-keyspace-events |
サーバーがキースペース通知としてクライアントに公開するイベントタイプ。値は、以下の文字フラグの組み合わせです。インスタンス内のすべてのデータベースに適用されます。通知を有効にすると CPU リソースを消費します。詳細については、「Redis keyspace notifications」をご参照ください。デフォルト: 空 (通知は無効)。 重要
値には少なくとも |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
上位の主要統計
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
bigkey-threshold |
トップキー統計でビッグキーを識別するための要素数のしきい値。デフォルト: 2000。範囲: 500–100000。説明
このパラメーターが設定に表示されない場合は、マイナーバージョンをアップグレードして再試行してください。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ |
hotkey-threshold |
トップキー統計でホットキーを識別するための QPS しきい値。デフォルト: 5000。範囲: 100–100000。説明
マイナーバージョン 7.0.1.8、6.0.2.9、5.5.2.9 以降が必要です。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ |
データエンコーディング
以下のパラメーターは、Redis が各データ型に使用する内部エンコーディングを制御します。コンパクトエンコーディング (ziplist、listpack、intset) はメモリ使用量を削減しますが、データが設定されたしきい値を超えて大きくなると、より柔軟なエンコーディングに切り替わります。
ハッシュエンコーディング
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
hash-max-listpack-entries |
ハッシュが listpack からハッシュテーブルエンコーディングに切り替わる前の、キーと値のペアの最大数。Redis 7.0 では、listpack がデフォルトのハッシュエンコーディングです。 | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
hash-max-listpack-value |
ハッシュが listpack からハッシュテーブルエンコーディングに切り替わる前の、キーまたは値の最大文字列長 (バイト)。Redis 7.0 では、listpack がデフォルトのハッシュエンコーディングです。 | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
hash-max-ziplist-entries |
ハッシュが ziplist からハッシュテーブルエンコーディングに切り替わる前の、キーと値のペアの最大数。Redis 6.0 以前では、ziplist がデフォルトのハッシュエンコーディングです。 | ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
hash-max-ziplist-value |
ハッシュが ziplist からハッシュテーブルエンコーディングに切り替わる前の、キーまたは値の最大文字列長 (バイト)。Redis 6.0 以前では、ziplist がデフォルトのハッシュエンコーディングです。 | ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
ソート済みセットエンコーディング
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
zset-max-listpack-entries |
ソート済みセットが listpack からスキップリストエンコーディングに切り替わる前の、要素の最大数。Redis 7.0 では、listpack がデフォルトのソート済みセットエンコーディングです。 | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
zset-max-listpack-value |
ソート済みセットが listpack からスキップリストエンコーディングに切り替わる前の、要素の最大文字列長 (バイト)。Redis 7.0 では、listpack がデフォルトのソート済みセットエンコーディングです。 | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
zset-max-ziplist-entries |
ソート済みセットが ziplist からスキップリストエンコーディングに切り替わる前の、要素の最大数。Redis 6.0 以前では、ziplist がデフォルトのソート済みセットエンコーディングです。 | ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
zset-max-ziplist-value |
ソート済みセットが ziplist からスキップリストエンコーディングに切り替わる前の、要素の最大文字列長 (バイト)。Redis 6.0 以前では、ziplist がデフォルトのソート済みセットエンコーディングです。 | ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
リストエンコーディング
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
list-max-listpack-size |
リスト値の各 quicklist ノードのサイズを制御します (listpack エンコーディング使用、Redis 7.0)。正の値は要素数でノードを制限します。負の値はバイトサイズで制限します: -5 (≤ 64 KB)、-4 (≤ 32 KB)、-3 (≤ 16 KB)、-2 (≤ 8 KB、デフォルト)、-1 (≤ 4 KB)。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ | ❌ | ❌ |
list-max-ziplist-size |
リスト値の各 quicklist ノードのサイズを制御します (ziplist エンコーディング使用、Redis 6.0 以前)。正の値は要素数でノードを制限します。負の値はバイトサイズで制限します: -5 (≤ 64 KB)、-4 (≤ 32 KB)、-3 (≤ 16 KB)、-2 (≤ 8 KB、デフォルト)、-1 (≤ 4 KB)。 |
❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ |
list-max-ziplist-entries |
ziplist エンコーディングから切り替わる前の、リストノード内の要素の最大数。Redis 2.8 にのみ適用されます。 | ❌ | ❌ | ❌ | ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
list-max-ziplist-value |
ziplist エンコーディングから切り替わる前の、リストノード内の各要素の最大バイト長。Redis 2.8 にのみ適用されます。 | ❌ | ❌ | ❌ | ❌ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
list-compress-depth |
リストの両端にある、圧縮から除外される quicklist ノードの数。デフォルト: 0 (圧縮なし)。範囲: 0–65535。例えば、値が 1 の場合、最初と最後のノードは非圧縮のままになり、すべての中間ノードが圧縮されます。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ |
セットエンコーディング
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
set-max-intset-entries |
セットが intset からハッシュテーブルエンコーディングに切り替わる前の、要素の最大数。intset エンコーディングは、すべての要素が 64 ビット符号付き整数範囲内の 10 進整数である場合に適用されます。 | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ |
ストリームエンコーディング
| パラメーター | 説明 | バージョン 7.0 | バージョン 6.0 | バージョン 5.0 | バージョン 4.0 | バージョン 2.8 |
|---|---|---|---|---|---|---|
stream-node-max-bytes |
ストリームマクロノードあたりの最大メモリ (バイト単位)。デフォルト: 0 (制限なし)。範囲: 0–999,999,999,999,999。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ |
stream-node-max-entries |
ストリームマクロノードあたりの最大エントリ数。デフォルト: 0 (制限なし)。範囲: 0–999,999,999,999,999。 |
標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | 標準 ✔️ クラスタ ✔️ 読み書き分離 ✔️ | ❌ | ❌ |
プロキシノードパラメーター
プロキシノードパラメーターは、プロキシモードのクラスタインスタンスおよび読み書き分離インスタンスにのみ適用されます。
互換性
| パラメーター | 説明 |
|---|---|
cluster_compat_enable |
ネイティブ Redis クラスタ構文との互換性を有効にします。デフォルト: 1。有効値: 1 — 互換性を有効にします。READONLY、READWRITE、および CLUSTER シリーズのコマンドがサポートされます。「プロキシモードでサポートされるコマンドのリスト」をご参照ください。0 — 互換性を無効にします。 |
hello_enabled |
HELLO コマンドを使用して RESP2 と RESP3 プロトコルを切り替えることを有効にします。デフォルト: 0。有効値: 1 — 有効、0 — 無効。説明
プロキシ 7.0.9 以降が必要です。 |
sentinel_compat_enable |
プロキシモードのクラスタインスタンスまたは読み書き分離インスタンスで Sentinel 互換モードを有効にします。デフォルト: 0。有効値: 1 — 有効、0 — 無効。 |
接続管理
| パラメーター | 説明 |
|---|---|
max_session_processing |
接続ごとの処理中のリクエストの最大数。デフォルト: 1000。範囲: 10–10000000。リクエストは、プロキシがデータノードに転送した瞬間から、プロキシが応答を受信するまで処理中と見なされます。この制限は、プロキシのフロントエンドとバックエンドの処理速度の違いによって生じるメモリの増加を防ぎます。 |
rt_threshold_ms |
プロキシノードのスロークエリログのしきい値 (ミリ秒 (ms) 単位)。デフォルト: 500。範囲: 30–2000。プロキシからデータノードへの往復レイテンシがこのしきい値を超えると、スロークエリログエントリが生成されます。 |
ptod_enabled |
プロキシがクライアントの元の IP アドレスをデータノードに渡すかどうかを制御します。デフォルト: 1。有効値: 1 — クライアント IP を渡します。0 — データノードは代わりにプロキシの IP アドレスを見ます。 |
リクエストルーティング
| パラメーター | 説明 |
|---|---|
read_request_only_ronode_whenrwsplit_enable |
読み取り専用アカウントからのリクエストがどのようにルーティングされるかを制御します。デフォルト: 0。有効値: 1 — 読み取り専用アカウントのリクエストをプライマリノードではなく、読み取り専用レプリカに直接ルーティングします。0 — 読み取り専用アカウントからのリクエストを、重みに基づいてすべてのノード (プライマリノードを含む) に分散します。 |
readonly_lua_route_ronode_enable |
読み取り専用レプリカが利用可能な場合に Lua スクリプトがどのようにルーティングされるかを制御します。デフォルト: 0。有効値: 1 — 読み取り操作のみを含む Lua スクリプトは読み取り専用レプリカに転送されます。0 — すべての Lua スクリプトはプライマリノードによって処理されます。 |
Lua スクリプトの処理
| パラメーター | 説明 |
|---|---|
script_check_enable |
プロキシの Lua スクリプトに対する検証チェックを有効にします。チェック内容の詳細については、「プロキシによる Lua スクリプトのチェック」をご参照ください。デフォルト: 1。有効値: 1 — プロキシは実行前に Lua スクリプトを検証します。0 — プロキシは検証をスキップしますが、読み取り専用アカウントの接続は常にチェックされます。 |
transfer_subscrible_to_psubscrible_enable |
プロキシレベルで SUBSCRIBE を PSUBSCRIBE に変換します。デフォルト: 0。有効値: 1 — 変換を有効にします。0 — 変換しません。Lua スクリプト内で SUBSCRIBE または PUBLISH コマンドが使用されているために、サブスクライブしたチャンネルでメッセージを受信できない場合にこれを有効にします。 |
可観測性
これらのパラメーターは可観測性機能の一部です。統計が記録される前に、監査ログを有効にする必要があります。統計は 5 秒ごとに収集されます。
| パラメーター | 説明 |
|---|---|
#no_loose_statistics-ip-enable |
IP アドレス接続統計を有効にします。デフォルト: no。有効値: yes、no。有効にすると、インスタンスは接続クライアントの IP アドレスを記録します。 |
#no_loose_statistics-cmds |
ソース IP とアクセス頻度を監視するコマンドを指定します。デフォルト: 空 (監視なし)。コマンド名を小文字で、カンマで区切って指定します。 |
#no_loose_statistics-keys |
ソース IP とアクセス頻度を監視するキーを指定します。デフォルト: 空 (監視なし)。複数のキー名をカンマで区切ります。 |
これらのパラメーターを有効にした後、Simple Log Service コンソールから監査ログをダウンロードします。「監査ログのダウンロード」をご参照ください。ログタイプでフィルタリングします:
-
タイプ 7: IP アドレス QPS 統計
-
タイプ 8: IP アドレス接続統計
-
タイプ 9: キー統計
-
タイプ 10: コマンド統計
パフォーマンスへの影響を避けるため、#no_loose_statistics-cmdsと#no_loose_statistics-keysで指定するコマンドとキーの数を制限してください。これらのパラメーターは、トラブルシューティングやメンテナンスタスク中にのみ有効にしてください。