添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Redis-specific parameters - Amazon ElastiCache for Redis

Redis-specific parameters

If you do not specify a parameter group for your Redis cluster, then a default parameter group appropriate to your engine version will be used. You can't change the values of any parameters in the default parameter group. However, you can create a custom parameter group and assign it to your cluster at any time as long as the values of conditionally modifiable parameters are the same in both parameter groups. For more information, see Creating a parameter group .

Redis 7 parameter changes

Parameter group family: redis7

Redis 7 default parameter groups are as follows:

default.redis7 – Use this parameter group, or one derived from it, for Redis (cluster mode disabled) clusters and replication groups.

default.redis7.cluster.on – Use this parameter group, or one derived from it, for Redis (cluster mode enabled) clusters and replication groups.

Parameters added in Redis 7 are as follows.

Changes take effect: Immediately across all nodes in the cluster.

When set to the default of yes, allows nodes to serve pubsub shard traffic while the cluster is in a down state, as long as it believes it owns the slots.

Changes take effect: Immediately across all nodes in the cluster.

This value controls what endpoint is returned for MOVED/ASKING requests as well as the endpoint field for CLUSTER SLOTS and CLUSTER SHARDS . When the value is set to ip, the node will advertise its ip address. When the value is set to tls-dynamic, the node will advertise a hostname when encryption-in-transit is enabled and an ip address otherwise.

Changes take effect: Immediately across all nodes in the cluster.

When set to yes tracks the per command latencies and enables exporting the percentile distribution via the INFO latency statistics command, and cumulative latency distributions (histograms) via the LATENCY command.

Changes take effect: Immediately across all nodes in the cluster.

The maximum number of hash entries in order for the dataset to be compressed.

Changes take effect: Immediately across all nodes in the cluster.

The threshold of biggest hash entries in order for the dataset to be compressed.

zset-max-listpack-entries

Permitted values: 0+

Default: 128

Type: integer

Modifiable: Yes

Changes take effect: Immediately across all nodes in the cluster.

The maximum number of sorted set entries in order for the dataset to be compressed.

zset-max-listpack-value

Permitted values: 0+

Default: 64

Type: integer

Modifiable: Yes

Changes take effect: Immediately across all nodes in the cluster.

The threshold of biggest sorted set entries in order for the dataset to be compressed.

Modifiable: no . In Redis 7, this parameter is hidden and enabled by default. In order to disable it, you need to create a support case .

Modifiable was yes.

Changes take effect: Immediately across all nodes in the cluster.

Use listpack instead of ziplist for representing small hash encoding

Changes take effect: Immediately across all nodes in the cluster.

Use listpack instead of ziplist for representing small hash encoding

zset-max-ziplist-entries

Permitted values: 0+

Default: 128

Type: integer

Modifiable: Yes

Changes take effect: Immediately across all nodes in the cluster.

Use listpack instead of ziplist for representing small hash encoding.

zset-max-ziplist-value

Permitted values: 0+

Default: 64

Type: integer

Modifiable: Yes

Changes take effect: Immediately across all nodes in the cluster.

Use listpack instead of ziplist for representing small hash encoding.

list-max-ziplist-size

Permitted values:

Default: -2

Type: integer

Modifiable: Yes

Changes take effect: Immediately across all nodes in the cluster.

The number of entries allowed per internal list node.

default.redis6.x – Use this parameter group, or one derived from it, for Redis (cluster mode disabled) clusters and replication groups.

default.redis6.x.cluster.on – Use this parameter group, or one derived from it, for Redis (cluster mode enabled) clusters and replication groups.

Note

In Redis engine version 6.2, when the r6gd node family was introduced for use with Data tiering , only noeviction , volatile-lru and allkeys-lru max-memory policies are supported with r6gd node types.

For more information, see ElastiCache for Redis version 6.2 (enhanced) and ElastiCache for Redis version 6.0 (enhanced) .

Parameters added in Redis 6.x are as follows.

Modifiable: Yes

Changes take effect: The existing Redis users associated to the cluster will continue to have existing permissions. Either update the users or reboot the cluster to update the existing Redis users.

Default pubsub channel permissions for ACL users deployed to this cluster.

Changes take effect: Immediately across all nodes in the cluster

When set to yes, a Redis (cluster mode enabled) replication group continues to process read commands even when a node is not able to reach a quorum of primaries.

When set to the default of no, the replication group rejects all commands. We recommend setting this value to yes if you are using a cluster with fewer than three node groups or your application can safely handle stale reads.

Changes take effect: Immediately across all nodes in the cluster

To assist client-side caching, Redis supports tracking which clients have accessed which keys.

When the tracked key is modified, invalidation messages are sent to all clients to notify them their cached values are no longer valid. This value enables you to specify the upper bound of this table. After this parameter value is exceeded, clients are sent invalidation randomly. This value should be tuned to limit memory usage while still keeping track of enough keys. Keys are also invalidated under low memory conditions.

Changes take effect: Immediately across all nodes in the cluster

This value corresponds to the max number of entries in the ACL log.

Changes take effect: Immediately across all nodes in the cluster

Redis deletes keys that have exceeded their time to live by two mechanisms. In one, a key is accessed and is found to be expired. In the other, a periodic job samples keys and causes those that have exceeded their time to live to expire. This parameter defines the amount of effort that Redis uses to expire items in the periodic job.

The default value of 1 tries to avoid having more than 10 percent of expired keys still in memory. It also tries to avoid consuming more than 25 percent of total memory and to add latency to the system. You can increase this value up to 10 to increase the amount of effort spent on expiring keys. The tradeoff is higher CPU and potentially higher latency. We recommend a value of 1 unless you are seeing high memory usage and can tolerate an increase in CPU utilization.

Changes take effect: Immediately across all nodes in the cluster

When the value is set to yes, the DEL command acts the same as UNLINK .

default.redis5.0 – Use this parameter group, or one derived from it, for Redis (cluster mode disabled) clusters and replication groups.

default.redis5.0.cluster.on – Use this parameter group, or one derived from it, for Redis (cluster mode enabled) clusters and replication groups.

Changes take effect: Immediately across all nodes in the cluster

A space-separated list of renamed Redis commands. The following is a restricted list of commands available for renaming:

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

default.redis5.0 – Use this parameter group, or one derived from it, for Redis (cluster mode disabled) clusters and replication groups.

default.redis5.0.cluster.on – Use this parameter group, or one derived from it, for Redis (cluster mode enabled) clusters and replication groups.

Modifiable: Yes

Changes take effect: Immediately

The stream data structure is a radix tree of nodes that encode multiple items inside. Use this configuration to specify the maximum size of a single node in radix tree in Bytes. If set to 0, the size of the tree node is unlimited. stream-node-max-entries

Permitted values: 0+

Default: 100

Type: integer

Modifiable: Yes

Changes take effect: Immediately

The stream data structure is a radix tree of nodes that encode multiple items inside. Use this configuration to specify the maximum number of items a single node can contain before switching to a new node when appending new stream entries. If set to 0, the number of items in the tree node is unlimited active-defrag-max-scan-fields

Permitted values: 1 to 1000000

Default: 1000

Type: integer

Modifiable: Yes

Changes take effect: Immediately

Maximum number of set/hash/zset/list fields that will be processed from the main dictionary scan

Redis has renamed several parameters in engine version 5.0 in response to community feedback. For more information, see What's New in Redis 5? . The following table lists the new names and how they map to previous versions.

Modifiable: No

Former name: slave-allow-chaining

default.redis4.0 – Use this parameter group, or one derived from it, for Redis (cluster mode disabled) clusters and replication groups.

default.redis4.0.cluster.on – Use this parameter group, or one derived from it, for Redis (cluster mode enabled) clusters and replication groups.

Parameters renamed in Redis 5.0
Details Description client-output-buffer-limit-replica-hard-limit

Default: For values see Redis node-type specific parameters

Type: integer

Modifiable: No

Former name: client-output-buffer-limit-slave-hard-limit

For Redis read replicas: If a client's output buffer reaches the specified number of bytes, the client will be disconnected. client-output-buffer-limit-replica-soft-limit

Default: For values see Redis node-type specific parameters

Type: integer

Modifiable: No

Former name: client-output-buffer-limit-slave-soft-limit

For Redis read replicas: If a client's output buffer reaches the specified number of bytes, the client will be disconnected, but only if this condition persists for client-output-buffer-limit-replica-soft-seconds . client-output-buffer-limit-replica-soft-seconds

Default: 60

Type: integer

Modifiable: No

Former name: client-output-buffer-limit-slave-soft-seconds

For Redis read replicas: If a client's output buffer remains at client-output-buffer-limit-replica-soft-limit bytes for longer than this number of seconds, the client will be disconnected. Determines whether a read replica in Redis can have read replicas of its own. min-replicas-to-write

Default: 0

Type: integer

Modifiable: Yes

Former name: min-slaves-to-write

Changes Take Effect: Immediately

The minimum number of read replicas which must be available in order for the primary node to accept writes from clients. If the number of available replicas falls below this number, then the primary node will no longer accept write requests.

If either this parameter or min-replicas-max-lag is 0, then the primary node will always accept writes requests, even if no replicas are available.

min-replicas-max-lag

Default: 10

Type: integer

Modifiable: Yes

Former name: min-slaves-max-lag

Changes Take Effect: Immediately

The number of seconds within which the primary node must receive a ping request from a read replica. If this amount of time passes and the primary does not receive a ping, then the replica is no longer considered available. If the number of available replicas drops below min-replicas-to-write, then the primary will stop accepting writes at that point.

If either this parameter or min-replicas-to-write is 0, then the primary node will always accept write requests, even if no replicas are available.

close-on-replica-write

Default: yes

Type: boolean

Modifiable: Yes

Former name: close-on-slave-write

Changes Take Effect: Immediately

If enabled, clients who attempt to write to a read-only replica will be disconnected.

Permitted values: allkeys-lru , volatile-lru , allkeys-lfu , volatile-lfu , allkeys-random , volatile-random , volatile-ttl , noeviction

Default: volatile-lru

Type: string

Modifiable: Yes

Changes take place: immediately

Modifiable: Yes

Changes take place: immediately

Permitted values: yes/no

Default: no

Type: boolean

Modifiable: Yes

Changes take place: immediately

Permitted values: yes/no

Default: no

Type: boolean

Modifiable: Yes

Changes take place: immediately

Permitted values: N/A

Default: no

Type: boolean

Modifiable: No

Changes take place: N/A

parameters

Permitted values: any integer > 0

Default: 10

Type: integer

Modifiable: Yes

Changes take place: immediately

Permitted values: any integer

Default: 1

Type: integer

Modifiable: Yes

Changes take place: immediately

Permitted values: yes/no

Default: no

Type: boolean

Modifiable: Yes

Changes take place: immediately

Permitted values: 10485760-104857600

Default: 104857600

Type: integer

Modifiable: Yes

Changes take place: immediately

Permitted values: 1-100

Default: 10

Type: integer

Modifiable: Yes

Changes take place: immediately

Permitted values: 1-100

Default: 100

Type: integer

Modifiable: Yes

Changes take place: immediately

Permitted values: 1-75

Default: 25

Type: integer

Modifiable: Yes

Changes take place: immediately

Permitted values: 1-75

Default: 75

Type: integer

Modifiable: Yes

Changes take place: immediately

Permitted values: 1048576-1073741824

Default: 1073741824

Type: integer

Modifiable: Yes

Changes take place: immediately

Permitted values: 1048576-536870912

Default: 536870912

Type: integer

Modifiable: Yes

Changes take place: immediately

Redis 3.2.10 parameter changes

Parameter group family: redis3.2

ElastiCache for Redis 3.2.10 there are no additional parameters supported.

Redis 3.2.6 parameter changes

Parameter group family: redis3.2

For Redis 3.2.6 there are no additional parameters supported.

Redis 3.2.4 parameter changes

Parameter group family: redis3.2

Beginning with Redis 3.2.4 there are two default parameter groups.

default.redis3.2 – When running Redis 3.2.4, specify this parameter group or one derived from it, if you want to create a Redis (cluster mode disabled) replication group and still use the additional features of Redis 3.2.4.

default.redis3.2.cluster.on – Specify this parameter group or one derived from it, when you want to create a Redis (cluster mode enabled) replication group.

Topics

New parameters for Redis 3.2.4

Parameter group family: redis3.2

For Redis 3.2.4 the following additional parameters are supported.

Default: no/yes *

Type: string

Modifiable: No

When set to yes , Redis (cluster mode enabled) nodes in cluster mode stop accepting queries if they detect there is at least one hash slot uncovered (no available node is serving it). This way if the cluster is partially down, the cluster becomes unavailable. It automatically becomes available again as soon as all the slots are covered again.

However, sometimes you want the subset of the cluster which is working to continue to accept queries for the part of the key space that is still covered. To do so, just set the cluster-require-full-coverage option to

The percent of a node's memory reserved for nondata use. By default, the Redis data footprint grows until it consumes all of the node's memory. If this occurs, then node performance will likely suffer due to excessive memory paging. By reserving memory, you can set aside some of the available memory for non-Redis purposes to help reduce the amount of paging.

This parameter is specific to ElastiCache, and is not part of the standard Redis distribution.

For more information, see reserved-memory and Managing Reserved Memory .

Parameter group family: redis2.8

For Redis 2.8.24 there are no additional parameters supported.

Redis 2.8.23 (enhanced) added parameters

Parameter group family: redis2.8

For Redis 2.8.23 the following additional parameter is supported.

How close-on-slave-write works

The close-on-slave-write parameter is introduced by Amazon ElastiCache to give you more control over how your cluster responds when a primary node and a read replica node swap roles due to promoting a read replica to primary.

If the read-replica cluster is promoted to primary for any reason other than a Multi-AZ enabled replication group failing over, the client will continue trying to write to endpoint A. Because endpoint A is now the endpoint for a read-replica, these writes will fail. This is the behavior for Redis before ElastiCache introducing close-on-replica-write and the behavior if you disable close-on-replica-write .

With close-on-replica-write enabled, any time a client attempts to write to a read-replica, the client connection to the cluster is closed. Your application logic should detect the disconnection, check the DNS table, and reconnect to the primary endpoint, which now would be endpoint B.

When you might disable close-on-replica-write

If disabling close-on-replica-write results in writes to the failing cluster, why disable close-on-replica-write ?

As previously mentioned, with close-on-replica-write enabled, any time a client attempts to write to a read-replica the client connection to the cluster is closed. Establishing a new connection to the node takes time. Thus, disconnecting and reconnecting as a result of a write request to the replica also affects the latency of read requests that are served through the same connection. This effect remains in place until a new connection is established. If your application is especially read-heavy or very latency-sensitive, you might keep your clients connected to avoid degrading read performance.

Parameter group family: redis2.8

For Redis 2.8.22 there are no additional parameters supported.

Important

Beginning with Redis version 2.8.22, repl-backlog-size applies to the primary cluster as well as to replica clusters.

Beginning with Redis version 2.8.22, the repl-timeout parameter is not supported. If it is changed, ElastiCache will overwrite with the default (60s), as we do with appendonly .

The following parameters are no longer supported.

Parameter group family: redis2.8

For Redis 2.8.21, there are no additional parameters supported.

Redis 2.8.19 added parameters

Parameter group family: redis2.8

For Redis 2.8.19 there are no additional parameters supported.

Redis 2.8.6 added parameters

Parameter group family: redis2.8

For Redis 2.8.6 the following additional parameters are supported.

Modifiable: Yes

Changes Take Effect: Immediately

The total memory, in bytes, reserved for non-data usage. By default, the Redis node will grow until it consumes the node's maxmemory (see Redis node-type specific parameters ). If this occurs, then node performance will likely suffer due to excessive memory paging. By reserving memory you can set aside some of the available memory for non-Redis purposes to help reduce the amount of paging.

This parameter is specific to ElastiCache, and is not part of the standard Redis distribution.

For more information, see reserved-memory-percent and Managing Reserved Memory .

Note

If you do not specify a parameter group for your Redis 2.6.13 cluster, then a default parameter group ( default.redis2.6 ) will be used. You cannot change the values of any parameters in the default parameter group; however, you can always create a custom parameter group and assign it to your cluster at any time.

Redis node-type specific parameters

Although most parameters have a single value, some parameters have different values depending on the node type used. The following table shows the default values for the maxmemory , client-output-buffer-limit-slave-hard-limit , and client-output-buffer-limit-slave-soft-limit parameters for each node type. The value of maxmemory is the maximum number of bytes available to you for use, data and other uses, on the node. For more information, see Available memory .

Note

The maxmemory parameter cannot be modified.

Parameters changed in Redis 4.0.10
Details Description maxmemory-policy maxmemory-policy was added in version 2.6.13. In version 4.0.10 two new permitted values are added: allkeys-lfu , which will evict any key using approximated LFU, and volatile-lfu , which will evict using approximated LFU among the keys with an expire set. In version 6.2, when the r6gd node family was introduced for use with data-tiering, only noeviction , volatile-lru and allkeys-lru max-memory policies are supported with r6gd node types. Performs an asynchronous delete on evictions. lazyfree-lazy-expire Performs an asynchronous delete on expired keys. lazyfree-lazy-server-del Performs an asynchronous delete for commands which update values. slave-lazy-flush Performs an asynchronous flushDB during slave sync. lfu-log-factor Set the log factor, which determines the number of key hits to saturate the key counter. lfu-decay-time The amount of time in minutes to decrement the key counter. Active defragmentation parameters activedefrag Enabled active defragmentation. active-defrag-ignore-bytes Minimum amount of fragmentation waste to start active defrag. active-defrag-threshold-lower Minimum percentage of fragmentation to start active defrag. active-defrag-threshold-upper Maximum percentage of fragmentation at which we use maximum effort. active-defrag-cycle-min Minimal effort for defrag in CPU percentage. active-defrag-cycle-max Maximal effort for defrag in CPU percentage. Client output buffer parameters client-query-buffer-limit Max size of a single client query buffer. proto-max-bulk-len Max size of a single element request. Details Description list-max-ziplist-size

Default: -2

Type: integer

Modifiable: No

Lists are encoded in a special way to save space. The number of entries allowed per internal list node can be specified as a fixed maximum size or a maximum number of elements. For a fixed maximum size, use -5 through -1, meaning:

Modifiable: Yes

Changes Take Effect: Immediately

Lists may also be compressed. Compress depth is the number of quicklist ziplist nodes from each side of the list to exclude from compression. The head and tail of the list are always uncompressed for fast push and pop operations. Settings are:

1: Start compressing with the 1st node in from the head and tail.

[head]->node->node->...->node->[tail]

All nodes except [head] and [tail] compress.

2: Start compressing with the 2nd node in from the head and tail.

[head]->[next]->node->node->...->node->[prev]->[tail]

[head], [next], [prev], [tail] do not compress. All other nodes compress.

cluster-enabled

Indicates whether this is a Redis (cluster mode enabled) replication group in cluster mode (yes) or a Redis (cluster mode enabled) replication group in non-cluster mode (no). Redis (cluster mode enabled) replication groups in cluster mode can partition their data across up to 500 node groups.

* Redis 3.2. x has two default parameter groups.

default.redis3.2 – default value no .

default.redis3.2.cluster.on – default value yes .

cluster-require-full-coverage

Default: no

Type: boolean

Modifiable: yes

Changes Take Effect: Immediately

hll-sparse-max-bytes

Default: 3000

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

HyperLogLog sparse representation bytes limit. The limit includes the 16 byte header. When a HyperLogLog using the sparse representation crosses this limit, it is converted into the dense representation.

A value greater than 16000 is not recommended, because at that point the dense representation is more memory efficient.

We recommend a value of about 3000 to have the benefits of the space-efficient encoding without slowing down PFADD too much, which is O(N) with the sparse encoding. The value can be raised to ~10000 when CPU is not a concern, but space is, and the data set is composed of many HyperLogLogs with cardinality in the 0 - 15000 range.

reserved-memory-percent

Default: 25

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

activerehashing

Modifiable: Yes if the parameter group is not associated with any cache clusters. Otherwise,

Modifiable was No.

databases

Modifiable: Yes if the parameter group is not associated with any cache clusters. Otherwise,

Modifiable was No.

appendonly

Default: off

Modifiable: No

If you want to upgrade from an earlier Redis version, you must first turn appendonly

appendfsync

Default: off

Modifiable: No

If you want to upgrade from an earlier Redis version, you must first turn appendfsync

repl-timeout

Default: 60

Modifiable: No

Is now unmodifiable with a default of 60. tcp-keepalive

Default: 300

Default was 0.

list-max-ziplist-entries

Parameter is no longer available.

list-max-ziplist-value

Parameter is no longer available.

Details Description close-on-slave-write

Default: yes

Type: string (yes/no)

Modifiable: Yes

Changes Take Effect: Immediately

If enabled, clients who attempt to write to a read-only replica will be disconnected.

Details Description min-slaves-max-lag

Default: 10

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

The number of seconds within which the primary node must receive a ping request from a read replica. If this amount of time passes and the primary does not receive a ping, then the replica is no longer considered available. If the number of available replicas drops below min-slaves-to-write, then the primary will stop accepting writes at that point.

If either this parameter or min-slaves-to-write is 0, then the primary node will always accept writes requests, even if no replicas are available.

min-slaves-to-write

Default: 0

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

The minimum number of read replicas which must be available in order for the primary node to accept writes from clients. If the number of available replicas falls below this number, then the primary node will no longer accept write requests.

If either this parameter or min-slaves-max-lag is 0, then the primary node will always accept writes requests, even if no replicas are available.

notify-keyspace-events

Default: (an empty string)

Type: string

Modifiable: Yes

Changes Take Effect: Immediately

The types of keyspace events that Redis can notify clients of. Each event type is represented by a single letter:

You can have any combination of these event types. For example, AKE means that Redis can publish notifications of all event types.

Do not use any characters other than those listed above; attempts to do so will result in error messages.

By default, this parameter is set to an empty string, meaning that keyspace event notification is disabled.

repl-backlog-size

Default: 1048576

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

The size, in bytes, of the primary node backlog buffer. The backlog is used for recording updates to data at the primary node. When a read replica connects to the primary, it attempts to perform a partial sync ( psync ), where it applies data from the backlog to catch up with the primary node. If the psync fails, then a full sync is required.

The minimum value for this parameter is 16384.

Note

Beginning with Redis 2.8.22, this parameter applies to the primary cluster as well as the read replicas.

repl-backlog-ttl

Default: 3600

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

The number of seconds that the primary node will retain the backlog buffer. Starting from the time the last replica node disconnected, the data in the backlog will remain intact until repl-backlog-ttl expires. If the replica has not connected to the primary within this time, then the primary will release the backlog buffer. When the replica eventually reconnects, it will have to perform a full sync with the primary.

If this parameter is set to 0, then the backlog buffer will never be released.

repl-timeout

Default: 60

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

Represents the timeout period, in seconds, for:

Parameter group family: redis2.6

Redis 2.6.13 was the first version of Redis supported by ElastiCache. The following table shows the Redis 2.6.13 parameters that ElastiCache supports.

Details Description activerehashing

Default: yes

Type: string (yes/no)

Modifiable: Yes

Changes take place: At Creation

Determines whether to enable Redis' active rehashing feature. The main hash table is rehashed ten times per second; each rehash operation consumes 1 millisecond of CPU time.

This value is set when you create the parameter group. When assigning a new parameter group to a cluster, this value must be the same in both the old and new parameter groups.

appendonly

Default: no

Type: string

Modifiable: Yes

Changes Take Effect: Immediately

Enables or disables Redis' append only file feature (AOF). AOF captures any Redis commands that change data in the cache, and is used to recover from certain node failures.

The default value is no , meaning AOF is turned off. Set this parameter to yes to enable AOF.

For more information, see Mitigating Failures .

Note

Append Only Files (AOF) is not supported for cache.t1.micro and cache.t2.* nodes. For nodes of this type, the appendonly parameter value is ignored.

Note

For Multi-AZ replication groups, AOF is not allowed.

appendfsync

Default: everysec

Type: string

Modifiable: Yes

Changes Take Effect: Immediately

When appendonly is set to yes, controls how often the AOF output buffer is written to disk:

Modifiable: Yes

Changes Take Effect: Immediately

If a client's output buffer reaches the specified number of bytes, the client will be disconnected. The default is zero (no hard limit).

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

Default: 0

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

If a client's output buffer reaches the specified number of bytes, the client will be disconnected, but only if this condition persists for client-output-buffer-limit-normal-soft-seconds . The default is zero (no soft limit). client-output-buffer-limit-normal-soft-seconds

Default: 0

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

If a client's output buffer remains at client-output-buffer-limit-normal-soft-limit bytes for longer than this number of seconds, the client will be disconnected. The default is zero (no time limit). client-output-buffer-limit-pubsub-hard-limit

Default: 33554432

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

For Redis publish/subscribe clients: If a client's output buffer reaches the specified number of bytes, the client will be disconnected.

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

Default: 8388608

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

For Redis publish/subscribe clients: If a client's output buffer reaches the specified number of bytes, the client will be disconnected, but only if this condition persists for client-output-buffer-limit-pubsub-soft-seconds . client-output-buffer-limit-pubsub-soft-seconds

Default: 60

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

For Redis publish/subscribe clients: If a client's output buffer remains at client-output-buffer-limit-pubsub-soft-limit bytes for longer than this number of seconds, the client will be disconnected. client-output-buffer-limit-slave-hard-limit

Default: For values see Redis node-type specific parameters

Type: integer

Modifiable: No

For Redis read replicas: If a client's output buffer reaches the specified number of bytes, the client will be disconnected. client-output-buffer-limit-slave-soft-limit

Default: For values see Redis node-type specific parameters

Type: integer

Modifiable: No

For Redis read replicas: If a client's output buffer reaches the specified number of bytes, the client will be disconnected, but only if this condition persists for client-output-buffer-limit-slave-soft-seconds . client-output-buffer-limit-slave-soft-seconds

Default: 60

Type: integer

Modifiable: No

For Redis read replicas: If a client's output buffer remains at client-output-buffer-limit-slave-soft-limit bytes for longer than this number of seconds, the client will be disconnected. databases

Default: 16

Type: integer

Modifiable: No

Changes take place: At Creation

The number of logical partitions the databases is split into. We recommend keeping this value low.

This value is set when you create the parameter group. When assigning a new parameter group to a cluster, this value must be the same in both the old and new parameter groups.

hash-max-ziplist-entries

Default: 512

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

Determines the amount of memory used for hashes. Hashes with fewer than the specified number of entries are stored using a special encoding that saves space. hash-max-ziplist-value

Default: 64

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

Determines the amount of memory used for hashes. Hashes with entries that are smaller than the specified number of bytes are stored using a special encoding that saves space. list-max-ziplist-entries

Default: 512

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

Determines the amount of memory used for lists. Lists with fewer than the specified number of entries are stored using a special encoding that saves space. list-max-ziplist-value

Default: 64

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

Determines the amount of memory used for lists. Lists with entries that are smaller than the specified number of bytes are stored using a special encoding that saves space. lua-time-limit

Default: 5000

Type: integer

Modifiable: No

The maximum execution time for a Lua script, in milliseconds, before ElastiCache takes action to stop the script.

If lua-time-limit is exceeded, all Redis commands will return an error of the form ____-BUSY . Since this state can cause interference with many essential Redis operations, ElastiCache will first issue a SCRIPT KILL command. If this is unsuccessful, ElastiCache will forcibly restart Redis.

maxclients This value applies to all instance types except those explicity specified

Default: 65000

Type: integer

Modifiable: No

The maximum number of clients that can be connected at one time.

t2.medium Default: 20000

Type: integer

Modifiable: No

The eviction policy for keys when maximum memory usage is reached.

Valid values are: volatile-lru | allkeys-lru | volatile-random | allkeys-random | volatile-ttl | noeviction

For more information, see Using Redis as an LRU cache .

maxmemory-samples

Default: 3

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

For least-recently-used (LRU) and time-to-live (TTL) calculations, this parameter represents the sample size of keys to check. By default, Redis chooses 3 keys and uses the one that was used least recently. reserved-memory

Default: 0

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

set-max-intset-entries

Default: 512

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

Determines the amount of memory used for certain kinds of sets (strings that are integers in radix 10 in the range of 64 bit signed integers). Such sets with fewer than the specified number of entries are stored using a special encoding that saves space. slave-allow-chaining

Default: no

Type: string

Modifiable: No

Determines whether a read replica in Redis can have read replicas of its own. slowlog-log-slower-than

Default: 10000

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

The maximum execution time, in microseconds, for commands to be logged by the Redis Slow Log feature. slowlog-max-len

Default: 128

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

The maximum length of the Redis Slow Log. tcp-keepalive

Default: 0

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

If this is set to a nonzero value (N), node clients are polled every N seconds to ensure that they are still connected. With the default setting of 0, no such polling occurs.
Important

Some aspects of this parameter changed in Redis version 3.2.4. See Parameters changed in Redis 3.2.4 (enhanced) .

timeout

Default: 0

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

The number of seconds a node waits before timing out. Values are:

Modifiable: Yes

Changes Take Effect: Immediately

Determines the amount of memory used for sorted sets. Sorted sets with fewer than the specified number of elements are stored using a special encoding that saves space. zset-max-ziplist-value

Default: 64

Type: integer

Modifiable: Yes

Changes Take Effect: Immediately

Determines the amount of memory used for sorted sets. Sorted sets with entries that are smaller than the specified number of bytes are stored using a special encoding that saves space. 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