Redis 構成

このページでは、Memorystore for Redis で使用可能な maxmemory ポリシーとその他の Redis 構成について説明します。構成を調整する場合でも、Redis インスタンスを再起動する必要はありません。

下記の構成を変更する手順については、Redis インスタンスの構成をご覧ください。

maxmemory ポリシー

Redis インスタンスのメモリがいっぱいになり、新しい書き込みが発生すると、Redis はインスタンスの maxmemory ポリシーに基づいて書き込み用のスペースを確保するためにキーを削除します。Memorystore for Redis のデフォルトの maxmemory ポリシーvolatile-lru です。次のいずれかの maxmemory ポリシーを使用することもできます。

  • noeviction: Redis インスタンスが maxmemory に達するとエラーを返します。データの上書きや削除は行いません。
  • allkeys-lfu: Redis バージョン 4.0 以降で使用できます。キーセット全体から、使用頻度の最も低い(LFU)キーを削除します。
  • allkeys-lru: キーセット全体から、最も長い間使用されていない(LRU)キーを削除します。
  • volatile-lfu: Redis バージョン 4.0 以降で使用できます。TTL(有効期間)期限が設定されている、使用頻度の低いキーを削除します。
  • volatile-lru: TTL 期限が設定されている、最も長い間使用されていない(LRU)キーを削除します。
  • allkeys-random: キースペース全体からランダムにキーを削除します。
  • volatile-random:TTL 期限が設定されたキーの中から、ランダムにキーを削除します。
  • volatile-ttl: TTL 期限が設定されたキーのうち、最も短い TTL を持つキーを削除します。

変更可能な構成パラメータ

Memorystore for Redis インスタンスを作成または更新する際に、次のパラメータを変更できます。


パラメータ 説明 使用できる値
activedefrag Redis バージョン 4.0 以降。標準的な OSS Redis メモリ フラグメンテーション動作によって結び付けられたインスタンス メモリを解放します。 no(デフォルト)
yes
lfu-decay-time Redis バージョン 4.0 以降。分単位の時間。LFU より前では、指定されたキーの頻度カウンタを 2 で割った値(または、カウンタが 10 未満の場合は 1 減少させた数)。詳細については、REDIS.CONF ファイルをご覧ください。 「long」データ型の正の整数
(デフォルトは 1)
lfu-log-factor Redis バージョン 4.0 以降。頻度カウンタがキーヒットを示す方法を決定します。デフォルト構成を変更する前に、REDIS.CONF ファイルで lfu-log-factor 構成がどのように機能するかを確認してください。 「long」データ型の正の整数
(デフォルトは 10)
maxmemory-gb エビクション ポリシーを適用する調整可能な上限を指定します。たとえば、10 GB のインスタンスがあり、maxmemory-gb8 に設定すると、データがインスタンス メモリの 8 GB を占めるとエビクション ポリシーが有効になります。これにより、オーバーヘッドとして 2 GB のメモリが残ります。デフォルトでは、maxmemory-gb はインスタンスの容量に設定されます。maxmemory-gb構成の最適な使用方法については、Memorystore のメモリ管理のベスト プラクティスをご覧ください。 整数または小数で表される GB 数。
例:
10 は、10 GB の maxmemory-gb を指定します。
1.5 は、1.5 GB の maxmemory-gb を指定します。
maxmemory-gb は、最小でインスタンス容量の 20% まで縮小できます。
maxmemory-policy インスタンス データが maxmemory-gb の上限に達したときの Redis の動作を指定します。各ポリシーの動作については、Maxmemory ポリシーをご覧ください。

オープンソース Redis の maxmemory ポリシーの詳細については、オープンソース Redis の LRU キャッシュ ページをご覧ください。
noeviction
allkeys-lru
volatile-lru(デフォルト)
allkeys-random
volatile-random
volatile-ttl
volatile-lfu(Redis バージョン 4.0 以降)
allkeys-lfu(Redis バージョン 4.0 以降)
notify-keyspace-events クライアントが特定のキースペース イベントの通知に登録できるようにします。詳細については、Redis サイトのRedis のキースペース通知ページをご覧ください。 ""(デフォルト)
K
キースペース イベント。__keyspace@__ 接頭辞付きで公開されます。
E
キーイベント イベント。__keyevent@__ 接頭辞付きで公開されます。
g
DEL、EXPFire、RENAME などの一般的なコマンド
$
文字列コマンド
l
リストコマンド
s
セットコマンド
h
ハッシュ コマンド
z
ソートされたセットコマンド
x
期限切れイベント(キーが期限切れになるたびに生成されるイベント)
e
削除イベント(maxmemory のためにキーが削除された場合に生成されるイベント)
A
g$lshzxe のエイリアス。したがって、"AKE" 文字列は全イベントを意味します。
stream-node-max-bytes Redis バージョン 5.0 以降。Redis ストリームのデータ構造では、基数ツリーを使用して項目を保存します。stream-node-max-bytes パラメータは、1 つのツリーノードにアイテムを保存できる最大バイト数を指定します。この上限に達すると、新しい項目は新しいツリーノードに保存されます。 0 以上の整数。
(デフォルトは 4,096)
0 は、サイズが無制限のツリーノードを示します。
stream-node-max-entries Redis バージョン 5.0 以降。Redis ストリームのデータ構造では、基数ツリーを使用して項目を保存します。stream-node-max-entries パラメータは、単一ノードに保存できる項目数を指定します。この上限に達すると、新しい項目が新しいツリーノードに保存されます。 0 以上の整数。
(デフォルトは 100)
0 は、アイテム数が無制限のツリーノードを示します。

変更不可の構成パラメータ

次の表に、Redis の Memorystore で変更できない Redis 構成パラメータとそのデフォルト値を示します。これらの構成パラメータの詳細については、Redis の構成ドキュメントをご覧ください。

パラメータ デフォルト値
lua-time-limit 5000
hash-max-ziplist-entries 2048
hash-max-ziplist-value 1024
list-max-ziplist-size -2
list-compress-depth . 0
set-max-intset-entries 512
zset-max-ziplist-entries 1024
zset-max-ziplist-value 1024
hll-sparse-max-byte 3000
activerehashing
hz 10
databases 16
maxclients 65000
slowlog-log-slower-than 10000
slowlog-max-len 128