Redis 用 Amazon ElastiCache
Redis 用 ElastiCache ユーザーガイド (API バージョン 2015-02-02)

Redis 固有のパラメータ

Redis クラスターにパラメータグループを指定しない場合、エンジンのバージョンに適したデフォルトのパラメータグループが使用されます。デフォルトのパラメータグループのすべてのパラメータの値は変更できません。ただし条件付きで変更可能なパラメータの値が両方のパラメータグループで同じである限り、独自のパラメータグループを作成して、それをクラスターに割り当てることができます。詳細については、「パラメータグループを作成する」を参照してください。

注記

新しいバージョンの Redis ほど、より良く安定したユーザーエクスペリエンスを提供しているため、ElastiCache コンソールの使用時に Redis バージョン 2.6.13、2.8.6、および 2.8.19 は廃止されました。これらの Redis バージョンは使用しないことをお勧めします。これらのいずれかを使用する必要がある場合は、AWS CLI または ElastiCache API を使用します。

詳細については、以下のトピックを参照してください。

AWS CLI ElastiCache API

クラスターの作成

クラスターの作成 (AWS CLI)

このアクションを使用して、クラスターモードが有効になったレプリケーショングループを作成することはできません。

クラスターの作成 (ElastiCache API)

このアクションを使用して、クラスターモードが有効になったレプリケーショングループを作成することはできません。

クラスターの変更

AWS CLI の使用

このアクションを使用して、クラスターモードが有効になったレプリケーショングループを作成することはできません。

ElastiCache API の使用

このアクションを使用して、クラスターモードが有効になったレプリケーショングループを作成することはできません。

レプリケーショングループの作成

ゼロからの Redis (クラスターモードが無効) レプリケーショングループの作成 (AWS CLI)

ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成 (AWS CLI)

ゼロからの Redis (クラスターモードが無効) レプリケーショングループの作成 (ElastiCache API)

ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成 (ElastiCache API)

レプリケーショングループの変更

AWS CLI の使用

ElastiCache API の使用

Redis 5.0.3 パラメーターの変更

パラメータグループファミリー: redis5.0

Redis 5.0 のデフォルトのパラメータグループ

  • default.redis5.0 – このパラメーターグループ、またはそこから派生したグループを、Redis (クラスターモードが無効) クラスターおよびレプリケーショングループに使用します。

  • default.redis5.0.cluster.on – このパラメーターグループ、またはそこから派生したグループを、Redis (クラスターモードが有効) クラスターおよびレプリケーショングループに使用します。

Redis 5.0.3 で追加されたパラメータ

名前 詳細 Description
rename-commands

デフォルト: なし

タイプ: 文字列

変更可能: はい

変更の適用: クラスター内のすべてのノードにわたって即時

名前が変更された Redis コマンドのスペースで区切られたリスト。以下に示すのは、名前変更に使用できるコマンドのリストの一部です。

APPEND AUTH BITCOUNT BITFIELD BITOP BITPOS BLPOP BRPOP BRPOPLPUSH BZPOPMIN BZPOPMAX CLIENT CLUSTER COMMAND DBSIZE DECR DECRBY DEL DISCARD DUMP ECHO EVAL EVALSHA EXEC EXISTS EXPIRE EXPIREAT FLUSHALL FLUSHDB GEOADD GEOHASH GEOPOS GEODIST GEORADIUS GEORADIUSBYMEMBER GET GETBIT GETRANGE GETSET HDEL HEXISTS HGET HGETALL HINCRBY HINCRBYFLOAT HKEYS HLEN HMGET HMSET HSET HSETNX HSTRLEN HVALS INCR INCRBY INCRBYFLOAT INFO KEYS LASTSAVE LINDEX LINSERT LLEN LPOP LPUSH LPUSHX LRANGE LREM LSET LTRIM MEMORY MGET MONITOR MOVE MSET MSETNX MULTI OBJECT PERSIST PEXPIRE PEXPIREAT PFADD PFCOUNT PFMERGE PING PSETEX PSUBSCRIBE PUBSUB PTTL PUBLISH PUNSUBSCRIBE RANDOMKEY READONLY READWRITE RENAME RENAMENX RESTORE ROLE RPOP RPOPLPUSH RPUSH RPUSHX SADD SCARD SCRIPT SDIFF SDIFFSTORE SELECT SET SETBIT SETEX SETNX SETRANGE SINTER SINTERSTORE SISMEMBER SLOWLOG SMEMBERS SMOVE SORT SPOP SRANDMEMBER SREM STRLEN SUBSCRIBE SUNION SUNIONSTORE SWAPDB TIME TOUCH TTL TYPE UNSUBSCRIBE UNLINK UNWATCH WAIT WATCH ZADD ZCARD ZCOUNT ZINCRBY ZINTERSTORE ZLEXCOUNT ZPOPMAX ZPOPMIN ZRANGE ZRANGEBYLEX ZREVRANGEBYLEX ZRANGEBYSCORE ZRANK ZREM ZREMRANGEBYLEX ZREMRANGEBYRANK ZREMRANGEBYSCORE ZREVRANGE ZREVRANGEBYSCORE ZREVRANK ZSCORE ZUNIONSTORE SCAN SSCAN HSCAN ZSCAN XINFO XADD XTRIM XDEL XRANGE XREVRANGE XLEN XREAD XGROUP XREADGROUP XACK XCLAIM XPENDING GEORADIUS_RO GEORADIUSBYMEMBER_RO LOLWUT XSETID SUBSTR

詳細については、「Redis 用 ElastiCache バージョン 5.0.3 (拡張)」を参照してください。

Redis 5.0.0 パラメーターの変更

パラメータグループファミリー: redis5.0

Redis 5.0 のデフォルトのパラメータグループ

  • default.redis5.0 – このパラメーターグループ、またはそこから派生したグループを、Redis (クラスターモードが無効) クラスターおよびレプリケーショングループに使用します。

  • default.redis5.0.cluster.on – このパラメーターグループ、またはそこから派生したグループを、Redis (クラスターモードが有効) クラスターおよびレプリケーショングループに使用します。

Redis 5.0 で追加されたパラメータ

名前 詳細 Description
stream-node-max-bytes

許可される値: 0+

デフォルト: 4096

タイプ: 整数

変更可能: はい

変更の適用: 即時

ストリームデータ構造は、内部の複数のアイテムをエンコードするノードの基数ツリーです。基数ツリーの単一ノードの最大サイズをバイト単位で指定するには、この設定を使用します。0 に設定されている場合、ツリーノードのサイズは無制限です。
stream-node-max-entries

許可される値: 0+

デフォルト: 100

タイプ: 整数

変更可能: はい

変更の適用: 即時

ストリームデータ構造は、内部の複数のアイテムをエンコードするノードの基数ツリーです。新しいストリームエントリを追加するとき、新しいノードに切り替える前に単一ノードに含めることができるアイテムの最大数を指定するには、この設定を使用します。0 に設定されている場合、ツリーノードのアイテムの数は無制限です
active-defrag-max-scan-fields

許可される値: 1~1000000

デフォルト: 1000

タイプ: 整数

変更可能: はい

変更の適用: 即時

メインディクショナリスキャンから処理される set/hash/zset/list フィールドの最大数
lua-replicate-commands

許可される値: はい/いいえ

デフォルト: はい

タイプ: ブール値

変更可能: はい

変更の適用: 即時

Lua 効果レプリケーションを常に有効にするか、Lua スクリプトでは有効にしません
replica-ignore-maxmemory

デフォルト: はい

タイプ: ブール値

変更可能: いいえ

マスターから独立したアイテムを削除しないで、レプリカが maxmemory 設定を無効にするかどうかを判断します。

Redis は、コミュニティのフィードバックに応じてエンジンバージョン 5.0 でいくつかのパラメータの名前を変更しました。詳細については、「Redis 5 の最新情報」を参照してください。次の表に、新しい名前と前のバージョンとの対応を示します。

Redis 5.0 で名前が変更されたパラメータ

名前 詳細 Description
replica-lazy-flush

デフォルト: いいえ

タイプ: ブール値

変更可能: いいえ

旧名: slave-lazy-flush

レプリカの同期中に非同期 flushDB を実行します。
client-output-buffer-limit-replica-hard-limit

デフォルト: 値については、「Redis のノードタイプ固有のパラメータ」を参照してください

タイプ: 整数

変更可能: いいえ

旧名: client-output-buffer-limit-slave-hard-limit

Redis リードレプリカの場合: クライアントの出力バッファーが指定されたバイト数に達した場合、クライアントの接続が切断されます。
client-output-buffer-limit-replica-soft-limit

デフォルト: 値については、「Redis のノードタイプ固有のパラメータ」を参照してください

タイプ: 整数

変更可能: いいえ

旧名: client-output-buffer-limit-slave-soft-limit

Redis リードレプリカの場合: クライアントの出力バッファーが指定されたバイト数に達した場合、クライアントの接続が切断されますが、この条件が client-output-buffer-limit-replica-soft-seconds の間存続した場合に限ります。
client-output-buffer-limit-replica-soft-seconds

デフォルト: 60

タイプ: 整数

変更可能: いいえ

旧名: client-output-buffer-limit-slave-soft-seconds

Redis リードレプリカの場合: クライアントの出力バッファーが、この秒数より長い時間 client-output-buffer-limit-replica-soft-limit バイトのままの場合、クライアントの接続が切断されます。
replica-allow-chaining

デフォルト: いいえ

タイプ: 文字列

変更可能: いいえ

旧名: slave-allow-chaining

Redis のリードレプリカは自身のリードレプリカを持つことができるかどうかを決定します。
min-replicas-to-write

デフォルト: 0

タイプ: 整数

変更可能: はい

旧名: min-slaves-to-write

変更の適用: 即時   

プライマリノードがクライアントからの書き込みを受け入れるために、使用可能でなければならないリードレプリカの数。使用可能なレプリカの数がこの数を下回った場合、プライマリノードは書き込みリクエストを受け入れなくなります。

このパラメータか min-replicas-max-lag のどちらかが 0 の場合、レプリカが使用できない場合でもプライマリノードは常に書き込みリクエストを受け入れます。

min-replicas-max-lag

デフォルト: 10

タイプ: 整数

変更可能: はい

旧名: min-slaves-max-lag

変更の適用: 即時   

プライマリノードからリードレプリカから ping リクエストを受け取る必要がある秒数。この時間が経過してもプライマリが ping を受け取らない場合、レプリカは使用可能と見なされなくなります。使用可能なレプリカの数が min-replicas-to-write を下回った場合、プライマリはその時点で書き込みの受け入れを停止します。

このパラメータか min-replicas-to-write のどちらかが 0 の場合、レプリカが使用できない場合でもプライマリノードは常に書き込みリクエストを受け入れます。

close-on-replica-write

デフォルト: はい

タイプ: ブール値

変更可能: はい

旧名: close-on-slave-write

変更の適用: 即時   

有効にした場合、読み取り専用レプリカに書き込もうとするクライアントの接続は切断されます。

Redis 5.0 で削除されたパラメータ

名前 詳細 Description
repl-timeout

デフォルト: 60

変更可能: いいえ

パラメータはこのバージョンでは使用できません。

Redis 4.0.10 パラメーターの変更

パラメータグループファミリー: redis4.0

Redis 4.0.x のデフォルトのパラメータグループ

  • default.redis4.0 – このパラメーターグループ、またはそこから派生したグループを、Redis (クラスターモードが無効) クラスターおよびレプリケーショングループに使用します。

  • default.redis4.0.cluster.on – このパラメーターグループ、またはそこから派生したグループを、Redis (クラスターモードが有効) クラスターおよびレプリケーショングループに使用します。

Redis 4.0.10 で変更されたパラメータ

名前 詳細 Description
maxmemory-policy

許可される値: allkeys-lruvolatile-lruallkeys-lfuvolatile-lfuallkeys-randomvolatile-randomvolatile-ttlnoeviction

デフォルト: volatile-lru

タイプ: 文字列

変更可能: はい

変更の反映: 即時

maxmemory-policy がバージョン 2.6.13 で追加されました。バージョン 4.0.10 では、2 つの新しい許容値が追加されました。allkeys-lfu は、近似 LFU を使用して、すべてのキーを削除します。volatile-lfu は、近似 LFU を使用して、有効期限が設定されたキーを削除します。

Redis 4.0.10 で追加されたパラメータ

名前 詳細 Description
非同期削除パラメーター
lazyfree-lazy-eviction

許可される値: はい/いいえ

デフォルト: いいえ

タイプ: ブール値

変更可能: はい

変更の反映: 即時

削除で、非同期削除を実行します。
lazyfree-lazy-expire

許可される値: はい/いいえ

デフォルト: いいえ

タイプ: ブール値

変更可能: はい

変更の反映: 即時

期限切れのキーで、非同期削除を実行します。
lazyfree-lazy-server-del

許可される値: はい/いいえ

デフォルト: いいえ

タイプ: ブール値

変更可能: はい

変更の反映: 即時

値を更新するコマンドに対して非同期削除を実行します。
slave-lazy-flush

許可される値: 該当なし

デフォルト: いいえ

タイプ: ブール値

変更可能: いいえ

変更の反映: 該当なし
スレーブの同期中に非同期 flushDB を実行します。
LFU パラメーター
lfu-log-factor

使用可  values: any integer > 0

デフォルト: 10

タイプ: 整数

変更可能: はい

変更の反映: 即時

キーカウンターを飽和させるキーヒット数を決定するログ要素を設定します。
lfu-decay-time

許可される値: 任意の整数

デフォルト: 1

タイプ: 整数

変更可能: はい

変更の反映: 即時

キーカウンターをデクリメントする期間 (分単位)。
アクティブなデフラグメンテーションのパラメーター
activedefrag

許可される値: はい/いいえ

デフォルト: いいえ

タイプ: ブール値

変更可能: はい

変更の反映: 即時

有効化されているアクティブなデフラグメンテーション。
active-defrag-ignore-bytes

許可される値: 10485760 ~ 104857600  

デフォルト: 104857600

タイプ: 整数

変更可能: はい

変更の反映: 即時

アクティブなデフラグを開始するためのフラグメントの最小量。
active-defrag-threshold-lower

許可される値: 1~100

デフォルト: 10

タイプ: 整数

変更可能: はい

変更の反映: 即時

アクティブなデフラグを開始するためのフラグメントの割合。
active-defrag-threshold-upper

許可される値: 1~100

デフォルト: 100

タイプ: 整数

変更可能: はい

変更の反映: 即時

最大の労力を使用するフラグメントの最大割合。
active-defrag-cycle-min

許可される値: 1~75

デフォルト: 25

タイプ: 整数

変更可能: はい

変更の反映: 即時

デフラグの最小の労力 (CPU 使用率)。
active-defrag-cycle-max

許可される値: 1~75

デフォルト: 75

タイプ: 整数

変更可能: はい

変更の反映: 即時

デフラグの最大の労力 (CPU 使用率)。
クライアント出力バッファのパラメーター
client-query-buffer-limit

許可される値: 1048576 ~ 1073741824  

デフォルト: 1073741824

タイプ: 整数

変更可能: はい

変更の反映: 即時

単一のクライアントクエリバッファの最大サイズ。
proto-max-bulk-len

許可される値: 1048576 ~ 536870912  

デフォルト: 536870912

タイプ: 整数

変更可能: はい

変更の反映: 即時

1 つの要素リクエストの最大サイズ。

Redis 3.2.10 パラメーターの変更

パラメータグループファミリー: redis3.2

Redis 用 ElastiCache 3.2.10 では、追加でサポートされているパラメーターはありません。

Redis 3.2.6 パラメーターの変更

パラメータグループファミリー: redis3.2

Redis 3.2.6 では、追加でサポートされているパラメーターはありません。

Redis 3.2.4 パラメーターの変更

パラメータグループファミリー: redis3.2

Redis 3.2.4 から、2 つのデフォルトのパラメーターグループがあります。

  • default.redis3.2 – Redis 3.2.4 を実行する場合は、Redis (クラスターモードが無効) レプリケーショングループを作成し、Redis 3.2.4 のその他の機能を引き続き使用する場合は、このパラメーターグループまたはそこから派生したパラメーターグループを指定します。

  • default.redis3.2.cluster.on – Redis (クラスターモードが有効) レプリケーショングループを作成する場合は、このパラメーターグループまたはそこから派生したパラメーターグループを指定します。

Redis 3.2.4 の新しいパラメーター

パラメータグループファミリー: redis3.2

Redis 3.2.4 では、次のパラメーターが追加でサポートされます。

名前 詳細 Description
list-max-ziplist-size

デフォルト: -2

タイプ: 整数

変更可能: いいえ

リストは、領域を節約する特殊な方法でエンコードされます。内部リストノードあたり許可されるエントリの数は、要素の固定最大サイズまたは最大数として指定できます。最大固定サイズには、-5~-1 を使用します。この意味は次のとおりです。
  • -5: 最大サイズ: 64 KB - 通常のワークロードには推奨されません

  • -4: 最大サイズ: 32 KB - 推奨されません

  • -3: 最大サイズ: 16 KB - 推奨されません

  • -2: 最大サイズ: 8 KB - 推奨

  • -1: 最大サイズ: 4 KB - 推奨

  • 正の値は、リストノードあたり、最大でその数の要素まで保存することを意味します。

list-compress-depth

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 即時   

リストは、圧縮される場合もあります。圧縮の深さは、圧縮から除外するリストの端からのクイックリスト ziplist ノードの数です。リストの先頭と末尾は、プッシュおよびポップオペレーションを高速にするために常に圧縮されません。設定は以下のとおりです。
  • 0: すべての圧縮を無効にします。

  • 1: 先頭から末尾までの最初のノードで圧縮を開始します。

    [先頭]->ノード->ノード->...->ノード->[末尾]

    [先頭] と [末尾] を除くすべてのノードで圧縮を実行します。

  • 2: 先頭から末尾までの 2 番目のノードで圧縮を開始します。

    [先頭]->[次]->ノード->ノード->...->ノード->[前]->[末尾]

    [先頭]、[次]、[前]、[末尾] は圧縮されません。他のすべてのノードで圧縮を実行します。

  • その他

cluster-enabled

デフォルト: no/yes *

タイプ: 文字列

変更可能: はい

これがクラスターモードの Redis (クラスターモードが有効) レプリケーショングループ (yes) か、非クラスターモードの Redis (クラスターモードが有効) レプリケーショングループである (no) かを示します。クラスターモードの Redis (クラスターモードが有効) レプリケーショングループはそのデータを最大 90 のノードグループ間で分割できます。

* Redis 3.2.x には 2 つのデフォルトのパラメータグループがあります。

  • default.redis3.2 – デフォルト値 no

  • default.redis3.2.cluster.on – デフォルト値 yes

を参照してください。

cluster-require-full-coverage

デフォルト: いいえ

タイプ: ブール値

変更可能: はい

変更の適用: 即時   

yes に設定された場合、いずれのノードの処理対象になっていないハッシュスロットが検出された場合、クラスターモードの Redis (クラスターモードが有効) ノードがクエリの受け入れを停止します。このように、クラスターが部分的にダウンしている場合、クラスターは使用できなくなります。すべてのスロットが再び処理対象になると、クラスターは自動的に再び使用可能になります。

ただし、まだ処理対象になっているキー空間の部分に対するクエリを受け入れ続けるようにクラスターのサブセットが機能していることが必要な場合があります。その場合は、cluster-require-full-coverage オプションを no に設定するだけです。

hll-sparse-max-bytes

デフォルト: 3000

タイプ: 整数

変更可能: はい

変更の適用: 即時   

HyperLogLog のスパースな表示バイト制限。この制限には 16 バイトのヘッダーが含まれます。スパースな表現を使用する HyperLogLog がこの制限を超えると、デンスな表現に変換されます。

16,000 より大きい値はお勧めしません。その時点では、デンスな表現の方がメモリ効率が高くなるためです。

PFADD の速度を下げすぎることなく領域効率の良いエンコードの利点を活かせる (スパースなエンコードで O(N) になる) ように、値は約 3,000 にすることをお勧めします。問題が CPU ではなく領域であり、データセットが 0 ~ 15,000 の濃度の大量の HyperLogLog で構成されているときは、値を 10,000 まで大きくすることができます。

reserved-memory-percent

デフォルト: 25

タイプ: 整数

変更可能: はい

変更の適用: 即時   

非データ用に確保されているノードのメモリの割合。デフォルトでは、ノードのメモリがすべて消費されるまで Redis データフットプリントは増加します。この場合、メモリページングが大量に行われるため、ノードパフォーマンスが低下する可能性が高くなります。使用可能なメモリの一部を Redis 以外の用途に確保しておくことで、ページングの量を減らすことができます。

このパラメータは ElastiCache に固有であり、標準的な Redis ディストリビューションには含まれていません。

詳細については、「reserved-memory」および「予約メモリの管理」を参照してください。

Redis 3.2.4 (拡張) で変更されたパラメータ

パラメータグループファミリー: redis3.2

Redis 3.2.4 では、以下のパラメーターが変更されました。

名前 詳細 変更
activerehashing

変更可能: はい

変更可能は No でした。

databases

変更可能: はい

変更可能は No でした。

appendonly

デフォルト: オフ

変更可能: いいえ

以前のバージョンの Redis からアップグレードする場合は、最初に appendonly をオフにする必要があります。

appendfsync

デフォルト: オフ

変更可能: いいえ

以前のバージョンの Redis からアップグレードする場合は、最初に appendfsync をオフにする必要があります。

repl-timeout

デフォルト: 60

変更可能: いいえ

現在はデフォルト値 60 で、変更できません。
tcp-keepalive

デフォルト: 300

デフォルト値は 0 でした。

list-max-ziplist-entries

パラメーターは使用できなくなりました。

list-max-ziplist-value

パラメーターは使用できなくなりました。

Redis 2.8.24 (拡張) で追加されたパラメータ

パラメータグループファミリー: redis2.8

Redis 2.8.24 では、追加でサポートされているパラメーターはありません。

Redis 2.8.23 (拡張) で追加されたパラメータ

パラメータグループファミリー: redis2.8

Redis 2.8.23 では、以下のパラメーターが追加でサポートされます。

名前 詳細 Description
close-on-slave-write

デフォルト: はい

タイプ: 文字列 (はい/いいえ)

変更可能: はい

変更の適用: 即時   

有効にした場合、読み取り専用レプリカに書き込もうとするクライアントの接続は切断されます。

close-on-slave-write の動作

close-on-slave-write パラメーターが Amazon ElastiCache に導入されたことで、リードレプリカがプライマリノードに昇格するために両者間でロールが入れ替わるときのクラスターの応答を、より細かく制御できるようになりました。


						イメージ: close-on-replica-write、すべてが正常に動作

リードレプリカクラスターが、マルチ AZ 対応レプリケーショングループのフェイルオーバー以外の理由で、プライマリに昇格する場合、クライアントは引き続きエンドポイント A に書き込もうとします。エンドポイント A はこの時点でリードレプリカのエンドポイントであるため、これらの書き込みは失敗します。これは、close-on-replica-write が ElastiCache に導入される前の Redis に対する動作であり、close-on-replica-write を無効にした場合の動作です。


						イメージ: close-on-slave-write、書き込みが失敗

close-on-replica-write が有効になっていると、クライアントがリードレプリカに書き込もうとするたびに、クラスターへのクライアントの接続は切断されます。アプリケーションロジックは、切断を検出し、DNS テーブルを確認して、プライマリエンドポイント (この時点でエンドポイント B になっている) に再接続する必要があります。


						イメージ: close-on-slave-write、新しいプライマリクラスターに書き込み

close-on-replica-write を無効にする理由

close-on-replica-write を無効にすると障害が発生しているクラスターへの書き込みが行なわれる場合、close-on-replica-write を無効にする理由を考えてみます。

前述したように、close-on-replica-write が有効になっていると、クライアントがリードレプリカに書き込もうとするたびに、クラスターへのクライアントの接続は切断されます。ノードへの新たな接続が確立されるまでに時間がかかるため、レプリカへの書き込みリクエストの結果としての切断と再接続は、その新たな接続が確立されるまで同じ接続を使用する読み取りリクエストのレイテンシーにも影響を与えます。したがって、アプリケーションが特に読み取り過多だったり、レイテンシーの影響を非常に受けやすかったりする場合、読み取りパフォーマンスが落ちないように、クライアントは接続されたままにするほうが良いことがあります。

Redis 2.8.22 (拡張) で追加されたパラメータ

パラメータグループファミリー: redis2.8

Redis 2.8.22 では、追加でサポートされているパラメーターはありません。

重要

  • Redis バージョン 2.8.22 から、プライマリクラスターとレプリカクラスターに repl-backlog-size が適用されるようになりました。

  • Redis バージョン 2.8.22 以降では、repl-timeout パラメータはサポートされていません。そのパラメータが変更された場合、ElastiCache と同様に、appendonly によってデフォルト(60 秒)で上書きされます。

次のパラメータはサポートされなくなりました。

  • appendonly

  • appendfsync

  • repl-timeout

Redis 2.8.21 で追加されたパラメータ

パラメータグループファミリー: redis2.8

Redis 2.8.21 では、追加でサポートされているパラメータはありません。

Redis 2.8.19 で追加されたパラメータ

パラメータグループファミリー: redis2.8

Redis 2.8.19 では、追加でサポートされているパラメーターはありません。

Redis 2.8.6 で追加されたパラメータ

パラメータグループファミリー: redis2.8

Redis 2.8.6 では、次のパラメーターが追加でサポートされます。

名前 詳細 Description
min-slaves-max-lag

デフォルト: 10

タイプ: 整数

変更可能: はい

変更の適用: 即時   

プライマリノードからリードレプリカから ping リクエストを受け取る必要がある秒数。この時間が経過してもプライマリが ping を受け取らない場合、レプリカは使用可能と見なされなくなります。使用可能なレプリカの数が min-slaves-to-write を下回った場合、プライマリはその時点で書き込みの受け入れを停止します。

このパラメータか min-slaves-to-write のどちらかが 0 の場合、レプリカが使用できない場合でもプライマリノードは常に書き込みリクエストを受け入れます。

min-slaves-to-write

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 即時   

プライマリノードがクライアントからの書き込みを受け入れるために、使用可能でなければならないリードレプリカの数。使用可能なレプリカの数がこの数を下回った場合、プライマリノードは書き込みリクエストを受け入れなくなります。

このパラメータか min-slaves-max-lag のどちらかが 0 の場合、レプリカが使用できない場合でもプライマリノードは常に書き込みリクエストを受け入れます。

notify-keyspace-events

デフォルト: (空の文字列)

タイプ: 文字列

変更可能: はい

変更の適用: 即時   

Redis はクライアントに通知できる keyspace のタイプ。各イベントタイプは 1 文字で表されます。

  • K — Keyspace イベント、プレフィックス __keyspace@<db>__ を付けて発行

  • E — Key-event イベント、プレフィックス __keyevent@<db>__ を付けて発行

  • g — 固有でない汎用コマンド (DELEXPIRERENAME など)

  • $ — 文字列コマンド

  • l — リストコマンド

  • s — 設定コマンド

  • h — ハッシュコマンド

  • z — ソート対象セットコマンド

  • x — 期限切れのイベント(キーの期限が切れるたびにイベントが生成されます)

  • e — 削除されたイベント(maxmemory に達したためにキーが削除された場合にイベントが生成されます)

  • Ag$lshzxe のエイリアス

これらのイベントタイプは自由に組み合わせることができます。たとえば、AKE は Redis がすべてのイベントタイプの通知を発行できることを意味します。

上に挙げられた文字以外の文字を使用しないでください。使用しようとすると、エラーメッセージが表示されます。

デフォルトでは、このパラメータは空の文字列に設定されます。これは、keyspace イベント通知が無効であることを意味します。

repl-backlog-size

デフォルト: 1048576

タイプ: 整数

変更可能: はい

変更の適用: 即時   

プライマリノードバックログバッファーのサイズ (バイト単位)。バックログは、プライマリノードのデータの更新を記録するために使用されます。リードレプリカは、プライマリに接続すると、部分同期 (psync) の実行を試みます。このとき、プライマリノードに追いつくことができるようにバックログからデータを適用します。psync に失敗した場合は、完全同期が必要です。

このパラメータの最小値は 16384 です。

注記

Redis 2.8.22 から、このパラメータはプライマリクラスターとリードレプリカに適用されます。

repl-backlog-ttl

デフォルト: 3600

タイプ: 整数

変更可能: はい

変更の適用: 即時   

プライマリノードがバックログバッファーを保持する秒数。最後のレプリカノードが切断されたときから、バックログ内のデータは repl-backlog-ttl の期限が切れるまで変更されません。レプリカがこの時間内にプライマリに接続されない場合、プライマリはバックログバッファーを解放します。レプリカが最終的に再接続した場合、プライマリとの完全同期を実行する必要があります。

このパラメータを 0 に設定した場合、バックログバッファーは解放されません。

repl-timeout

デフォルト: 60

タイプ: 整数

変更可能: はい

変更の適用: 即時   

次のタイムアウト時間(秒単位)を表します。
  • 同期中の一括データ転送 (リードレプリカの観点から)

  • プライマリノードのタイムアウト (レプリカの観点から)

  • レプリカのタイムアウト (プライマリノードの観点から)

Redis 2.6.13 パラメータ

パラメータグループファミリー: redis2.6

Redis バージョン 2.6.13 は、ElastiCache でサポートされた Redis の最初のバージョンです。次の表は、ElastiCache によりサポートされている Redis 2.6.13 パラメータを示しています。

名前 詳細 Description
activerehashing

デフォルト: はい

タイプ: 文字列 (はい/いいえ)

変更可能: はい

変更の反映: 作成時

Redis のアクティブな再ハッシュ機能を有効にするかどうかを決定します。主要なハッシュテーブルは、1 秒あたり 10 回再ハッシュされます。再ハッシュ操作ごとに 1 ミリ秒の CPU が消費されます。

パラメータグループを作成するとき、この値を設定します。クラスターに新しいパラメータグループを割り当てるとき、この値は以前のパラメータグループと新しいパラメータグループで一致している必要があります。

appendonly

デフォルト: いいえ

タイプ: 文字列

変更可能: はい

変更の適用: 即時   

Redis の AOF (Append Only File) 機能を有効または無効にします。AOF は、キャッシュ内のデータを変更する Redis コマンドをキャプチャし、特定のノード障害からの復元に使用されます。

デフォルト値は no です(AOF が無効であることを意味します)。AOF を有効にするには、このパラメータを yes に設定します。

詳細については、「障害の軽減」を参照してください。

注記

AOF (Append Only File) は、cache.t1.micro ノードおよび cache.t2.* ノードではサポートされません。このタイプのノードの場合、appendonly パラメータ値は無視されます。

注記

マルチ AZ レプリケーショングループでは、AOF は許可されません。

appendfsync

デフォルト: everysec

タイプ: 文字列

変更可能: はい

変更の適用: 即時   

AOF 出力バッファーがディスクに書き込まれる頻度を制御します。
  • no — バッファーは必要に応じてディスクにフラッシュされます。

  • everysec — バッファーは 1 秒に 1 回フラッシュされます。これがデフォルト値です。

  • always — バッファは、クラスターが変更されるたびにフラッシュされます。

重要

Redis バージョン 3.2.4 では、このパラメーターのアスペクト値が一部変更されています。「Redis 3.2.4 (拡張) で変更されたパラメータ」を参照してください。

client-output-buffer-limit-normal-hard-limit

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 即時   

クライアントの出力バッファーが指定されたバイト数に達した場合、クライアントの接続が切断されます。デフォルトは 0 です (ハード制限なし)。

client-output-buffer-limit-normal-soft-limit

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 即時   

クライアントの出力バッファーが指定されたバイト数に達した場合、クライアントの接続が切断されますが、この条件が client-output-buffer-limit-normal-soft-seconds の間存続した場合に限ります。デフォルトは 0 です (ソフト制限なし)。
client-output-buffer-limit-normal-soft-seconds

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 即時   

クライアントの出力バッファーが、この秒数より長い時間 client-output-buffer-limit-normal-soft-limit バイトのままの場合、クライアントの接続が切断されます。デフォルトは 0 です (時間制限なし)。
client-output-buffer-limit-pubsub-hard-limit

デフォルト: 33554432

タイプ: 整数

変更可能: はい

変更の適用: 即時   

Redis 発行/サブスクライブクライアントの場合: クライアントの出力バッファーが指定されたバイト数に達した場合、クライアントの接続が切断されます。

client-output-buffer-limit-pubsub-soft-limit

デフォルト: 8388608

タイプ: 整数

変更可能: はい

変更の適用: 即時   

Redis 発行/サブスクライブクライアントの場合: クライアントの出力バッファーが指定されたバイト数に達した場合、クライアントの接続が切断されますが、この条件が client-output-buffer-limit-pubsub-soft-seconds の間存続した場合に限ります。
client-output-buffer-limit-pubsub-soft-seconds

デフォルト: 60

タイプ: 整数

変更可能: はい

変更の適用: 即時   

Redis 発行/サブスクライブクライアントの場合: クライアントの出力バッファーがこの秒数より長い間 client-output-buffer-limit-pubsub-soft-limit バイトのままの場合、クライアントの接続が切断されます。
client-output-buffer-limit-slave-hard-limit

デフォルト: 値については、「Redis のノードタイプ固有のパラメータ」を参照してください

タイプ: 整数

変更可能: いいえ

Redis リードレプリカの場合: クライアントの出力バッファーが指定されたバイト数に達した場合、クライアントの接続が切断されます。
client-output-buffer-limit-slave-soft-limit

デフォルト: 値については、「Redis のノードタイプ固有のパラメータ」を参照してください

タイプ: 整数

変更可能: いいえ

Redis リードレプリカの場合: クライアントの出力バッファーが指定されたバイト数に達した場合、クライアントの接続が切断されますが、この条件が client-output-buffer-limit-slave-soft-seconds の間存続した場合に限ります。
client-output-buffer-limit-slave-soft-seconds

デフォルト: 60

タイプ: 整数

変更可能: いいえ

Redis リードレプリカの場合: クライアントの出力バッファーが、この秒数より長い時間 client-output-buffer-limit-slave-soft-limit バイトのままの場合、クライアントの接続が切断されます。
databases

デフォルト: 16

タイプ: 整数

変更可能: いいえ

変更の反映: 作成時

論理パーティションデータベース数は分割されます。この値を低く抑えることをお勧めします。

パラメータグループを作成するとき、この値を設定します。クラスターに新しいパラメータグループを割り当てるとき、この値は以前のパラメータグループと新しいパラメータグループで一致している必要があります。

hash-max-ziplist-entries

デフォルト: 512

タイプ: 整数

変更可能: はい

変更の適用: 即時   

ハッシュに使用されるメモリ量を決定します。エントリが指定された数より少ないハッシュは、領域を節約する特殊なエンコードを使用して格納されます。
hash-max-ziplist-value

デフォルト: 64

タイプ: 整数

変更可能: はい

変更の適用: 即時   

ハッシュに使用されるメモリ量を決定します。エントリが指定されたバイト数より小さいハッシュは、領域を節約する特殊なエンコードを使用して格納されます。
list-max-ziplist-entries

デフォルト: 512

タイプ: 整数

変更可能: はい

変更の適用: 即時   

リストに使用されるメモリ量を決定します。エントリが指定された数より少ないリストは、領域を節約する特殊なエンコードを使用して格納されます。
list-max-ziplist-value

デフォルト: 64

タイプ: 整数

変更可能: はい

変更の適用: 即時   

リストに使用されるメモリ量を決定します。エントリが指定されたバイト数より小さいリストは、領域を節約する特殊なエンコードを使用して格納されます。
lua-time-limit

デフォルト: 5000

タイプ: 整数

変更可能: いいえ

ElastiCache がスクリプトを停止するアクションを実行までの Lua スクリプトの最大実行時間 (ミリ秒単位)。

lua-time-limit を超過した場合、すべての Redis コマンドによりエラーが ____-BUSY の形式で返されます。この状態により、多く必須 Redis 操作との干渉が発生する可能性があるため、ElastiCache はまず SCRIPT KILL コマンドを発行します。これに失敗すると、ElastiCache は強制的に Redis を再開します。

maxclients

デフォルト: 65000

タイプ: 整数

変更可能: いいえ

一度に接続できるクライアントの最大数。
maxmemory-policy

デフォルト: volatile-lru

タイプ: 文字列

変更可能: はい

変更の適用: 即時   

メモリの最大使用量に到達したときのキーの削除ポリシー。

有効な値は次のとおりです。volatile-lru | allkeys-lru | volatile-random | allkeys-random | volatile-ttl | noeviction

詳細については、「Redis を LRU キャッシュとして使用する」を参照してください。

maxmemory-samples

デフォルト: 3

タイプ: 整数

変更可能: はい

変更の適用: 即時   

LRU (least-recently-used) と TTL (time-to-live) の計算の場合、このパラメータはチェックするキーのサンプルサイズを表します。デフォルトで、Redis は 3 個のキーを選択し、最も長い間使用されていないキーを使用します。
reserved-memory

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 即時   

非データの使用に確保された合計メモリ (バイト単位)。デフォルトでは、Redis ノードは、ノードの maxmemory を消費するまで大きくなります (「Redis のノードタイプ固有のパラメータ」を参照)。この場合、メモリページングが大量に行われるため、ノードパフォーマンスが低下する可能性が高くなります。使用可能なメモリの一部を Redis 以外の用途に確保しておくことで、ページングの量を減らすことができます。

このパラメータは ElastiCache に固有であり、標準的な Redis ディストリビューションには含まれていません。

詳細については、「reserved-memory-percent」および「予約メモリの管理」を参照してください。

set-max-intset-entries

デフォルト: 512

タイプ: 整数

変更可能: はい

変更の適用: 即時   

特定のタイプのセットに使用されるメモリの量を決定します (64 ビット符号付き整数の範囲に収まる基数 10 の整数である文字列)。エントリが指定された数より少ないセットは、領域を節約する特殊なエンコードを使用して格納されます。
slave-allow-chaining

デフォルト: いいえ

タイプ: 文字列

変更可能: いいえ

Redis のリードレプリカは自身のリードレプリカを持つことができるかどうかを決定します。
slowlog-log-slower-than

デフォルト: 10000

タイプ: 整数

変更可能: はい

変更の適用: 即時   

Redis の Slow Log 機能によりコマンドを記録する最大実行時間 (マイクロ秒単位)。
slowlog-max-len

デフォルト: 128

タイプ: 整数

変更可能: はい

変更の適用: 即時   

Redis Slow Log の最大長。
tcp-keepalive

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 即時   

0 以外の値 (N) に設定した場合、接続が維持されていることを確認するためにノードクライアントが N 秒ごとにポーリングされます。デフォルト設定の 0 では、このようなポーリングが行われません。

重要

Redis バージョン 3.2.4 では、このパラメーターのアスペクト値が一部変更されています。「Redis 3.2.4 (拡張) で変更されたパラメータ」を参照してください。

timeout

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 即時   

ノードがタイムアウトまで待機する秒数。値は次のとおりです。
  • 0 – アイドル状態のクライアントは切断しません。

  • 1-19 – 無効な値です。

  • >=20 – ノードがアイドル状態のクライアントを切断するまでに待機する秒数。

zset-max-ziplist-entries

デフォルト: 128

タイプ: 整数

変更可能: はい

変更の適用: 即時   

ソート対象セットに使用されるメモリ量を決定します。要素が指定された数より少ないソート対象セットは、領域を節約する特殊なエンコードを使用して格納されます。
zset-max-ziplist-value

デフォルト: 64

タイプ: 整数

変更可能: はい

変更の適用: 即時   

ソート対象セットに使用されるメモリ量を決定します。エントリが指定されたバイト数より小さいソート対象セットは、領域を節約する特殊なエンコードを使用して格納されます。

注記

Redis 2.6.13 クラスターにパラメータグループを指定しない場合、デフォルトのパラメータグループ (default.redis2.6) が使用されます。デフォルトのパラメータグループ内のパラメータは、どれも値を変更できません。ただし、いつでもカスタムパラメータグループを作成して、クラスターに割り当てることができます。

Redis のノードタイプ固有のパラメータ

ほとんどのパラメータの値は 1 つですが、一部のパラメータには、使用されているノードタイプによって複数の値が設定されることがあります。次の表は、各ノードタイプの maxmemoryclient-output-buffer-limit-slave-hard-limit、および client-output-buffer-limit-slave-soft-limit パラメータのデフォルト値を示しています。maxmemory の値は、ノードでデータやその他の用途に使用できる最大バイト数です。

注記

maxmemory パラメータは変更できません。

Node Type maxmemory client-output-buffer-limit-slave-hard-limit client-output-buffer-limit-slave-soft-limit
cache.t1.micro 142606336 14260633 14260633
cache.t2.micro 581959680 58195968 58195968
cache.t2.small 1665138688 166513868 166513868
cache.t2.medium 3461349376 346134937 346134937
cache.m1.small 943718400 94371840 94371840
cache.m1.medium 3093299200 309329920 309329920
cache.m1.large 7025459200 702545920 702545920
cache.m1.xlarge 14889779200 1488977920 1488977920
cache.m2.xlarge 17091788800 1709178880 1709178880
cache.m2.2xlarge 35022438400 3502243840 3502243840
cache.m2.4xlarge 70883737600 7088373760 7088373760
cache.m3.medium 2988441600 309329920 309329920
cache.m3.large 6501171200 650117120 650117120
cache.m3.xlarge 14260633600 1426063360 1426063360
cache.m3.2xlarge 29989273600 2998927360 2998927360
cache.m4.large 6892593152 689259315 689259315
cache.m4.xlarge 15328501760 1532850176 1532850176
cache.m4.2xlarge 31889126359 3188912636 3188912636
cache.m4.4xlarge 65257290629 6525729063 6525729063
cache.m4.10xlarge 166047614239 16604761424 16604761424
cache.m5.large 6854542746 685454275 685454275
cache.m5.xlarge 13891921715 1389192172 1389192172
cache.m5.2xlarge 27966669210 2796666921 2796666921
cache.m5.4xlarge 56116178125 5611617812 5611617812
cache.m5.12xlarge 168715971994 16871597199 16871597199
cache.m5.24xlarge 337500562842 33750056284 33750056284
cache.c1.xlarge 6501171200 650117120 650117120
cache.r3.large 14470348800 1468006400 1468006400
cache.r3.xlarge 30513561600 3040870400 3040870400
cache.r3.2xlarge 62495129600 6081740800 6081740800
cache.r3.4xlarge 126458265600 12268339200 12268339200
cache.r3.8xlarge 254384537600 24536678400 24536678400
cache.r4.large 13201781556 1320178155 1320178155
cache.r4.xlarge 26898228839 2689822883 2689822883
cache.r4.2xlarge 54197537997 5419753799 5419753799
cache.r4.4xlarge 108858546586 10885854658 10885854658
cache.r4.8xlarge 218255432090 21825543209 21825543209
cache.r4.16xlarge 437021573120 43702157312 43702157312
cache.r5.large 14037181030 1403718103 1403718103
cache.r5.xlarge 28261849702 2826184970 2826184970
cache.r5.2xlarge 56711183565 5671118356 5671118356
cache.r5.4xlarge 113609865216 11360986522 11360986522
cache.r5.12xlarge 341206346547 34120634655 34120634655
cache.r5.24xlarge 682485973811 68248597381 68248597381

注記

現在の世代のインスタンスタイプはすべて、デフォルトで Amazon Virtual Private Cloud VPC で作成されます。

T1 インスタンスでは、自動フェイルオーバー機能を備えたマルチ AZ はサポートされていません。

T1 および T2 インスタンスでは、Redis AOF をサポートしていません。

Redis 設定変数 appendonly および appendfsync Redis バージョン 2.8.22 以降ではサポートされていません。