

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 引擎特定参数
<a name="parametergroups.redis"></a>

如果您没有为 Valkey 或 Redis OSS 集群指定参数组，则将使用适合您引擎版本的默认参数组。您无法更改默认参数组中的任何参数的值。但是，您可以随时创建自定义参数组并将其分配给集群，只要可按条件修改的参数的值在两个参数组中相同。有关更多信息，请参阅 [创建参数组](parametergroups.creating.md)。

**Topics**
+ [Valkey 7 和 Redis OSS 7 参数更改](#ParameterGroups.Redis.7)
+ [Redis OSS 6 参数](#parametergroups.redis.6-x)
+ [MemoryDB 节点类型特定的参数](#parametergroups.redis.nodespecific)

## Valkey 7 和 Redis OSS 7 参数更改
<a name="ParameterGroups.Redis.7"></a>

**注意**  
MemoryDB 引入了[向量搜索](https://docs.aws.amazon.com/memorydb/latest/devguide/vector-search.html)，其中包括一个新的不可变参数组 `default.memorydb-valkey7.search`。此参数组在 MemoryDB 控制台中可用，也可以在使用 create [-cluster CLI 命令创建新 vector-search-enabled集群](https://docs.aws.amazon.com/cli/latest/reference/memorydb/create-cluster.html)时使用。该预览版在以下AWS地区推出：美国东部（弗吉尼亚北部）、美国东部（俄亥俄州）、美国西部（俄勒冈）、亚太地区（东京）和欧洲（爱尔兰）。

**参数组系列：**memorydb\$1valkey7

Valkey 7 和 Redis OSS 7 中增加的参数如下所示。


|  Name  |  Details |  说明  | 
| --- | --- | --- | 
| latency-tracking |  允许的值：`yes`、`no` 默认值：`no` 类型：字符串 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 设置为“yes”（是）时，将跟踪每个命令的延迟，并允许通过 `INFO` 延迟统计命令导出百分位数分布，并通过 `LATENCY` 命令导出累积延迟分布（直方图）。  | 
| hash-max-listpack-entries |  允许的值：`0+` 默认值：`512` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 压缩数据集所需的最大哈希条目数。  | 
| hash-max-listpack-value |  允许的值：`0+` 默认值：`64` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 压缩数据集所需的最大哈希条目数的阈值。  | 
| zset-max-listpack-entries |  允许的值：`0+` 默认值：`128` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 压缩数据集所需的最大已排序集合条目数。  | 
| zset-max-listpack-value |  允许的值：`0+` 默认值：`64` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 压缩数据集所需的最大已排序集合条目数的阈值。  | 
| search-enabled |  允许的值：`yes, no` 默认值：`no` 类型：字符串 可修改：是 更改生效：仅适用于新集群。 最低引擎版本：7.1  | 如果设置为“是”，则会启用搜索功能。  | 
| search-query-timeout-ms |  允许的值：`1 - 60,000` 默认值：`10,000` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 最低引擎版本：7.1  | 允许搜索查询运行的最长时间（以毫秒为单位）。  | 

Redis OSS 7 中更改的参数如下所示。


|  Name  |  Details |  说明  | 
| --- | --- | --- | 
| activerehashing |  可修改：`no`。在 Redis OSS 7 中，默认情况下，此参数处于隐藏和已启用状态。为了禁用此参数，您需要创建一个[支持案例](https://console.aws.amazon.com/support/home)。  | 可修改：是。  | 

Redis OSS 7 中删除的参数如下所示。


|  Name  |  Details |  说明  | 
| --- | --- | --- | 
| hash-max-ziplist-entries |  允许的值：`0+` 默认值：`512` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 使用 `listpack` 而非 `ziplist` 来表示小哈希编码  | 
| hash-max-ziplist-value |  允许的值：`0+` 默认值：`64` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 使用 `listpack` 而非 `ziplist` 来表示小哈希编码  | 
| zset-max-ziplist-entries |  允许的值：`0+` 默认值：`128` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 使用 `listpack` 而非 `ziplist` 来表示小哈希编码。  | 
| zset-max-ziplist-value |  允许的值：`0+` 默认值：`64` 类型：整数 可修改：是 更改生效：立即跨集群中的所有节点生效。 | 使用 `listpack` 而非 `ziplist` 来表示小哈希编码。  | 

## Redis OSS 6 参数
<a name="parametergroups.redis.6-x"></a>

**注意**  
在 Redis OSS 引擎 6.2 版中，在引入 r6gd 节点系列以支持 [数据分层](data-tiering.md) 功能时，r6gd 节点类型仅支持 `noeviction`、`volatile-lru` 和 `allkeys-lru` max-memory 策略。

**参数组系列：** memorydb\$1redis6

Redis OSS 6 中增加的参数如下所示。


|  Name  |  Details |  说明  | 
| --- | --- | --- | 
|  maxmemory-policy  |  类型：字符串 允许的值：volatile-lru,allkeys-lru,volatile-lfu,allkeys-lfu,volatile-random,allkeys-random,volatile-ttl,noeviction 默认值：noeviction  |  达到最大内存使用率时密钥的移出策略。有关将 Valkey 或 Redis OSS 用作 LRU 缓存的更多信息，请参阅[键驱逐](https://valkey.io/topics/lru-cache)。  | 
|  list-compress-depth |  类型：整数 允许的值：0- 默认：0 | 压缩深度是要从压缩中排除的列表各端的 quicklist ziplist 节点的数目。始终不会压缩列表的首尾以便执行快速推送和弹出操作。设置为：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/memorydb/latest/devguide/parametergroups.redis.html) | 
|  hll-sparse-max-bytes |  类型：整数 允许的值：1-16000 默认值：3000 |  HyperLogLog 稀疏表示字节限制。限制包括 16 个字节的标头。当 HyperLogLog 使用稀疏表示超过此限制时，它将转换为密集表示。 不建议使用超过 16000 的值，因为此时密集表现形式具有更高的内存效率。 我们建议使用 3000 左右的值来获得空间效率较高的编码，同时不会过多地降低 `PFADD` 效率，即稀疏编码的复杂度为 O（N）。当不考虑CPU，而是空间时，该值可以提高到大约 10000，并且数据集由许多 HyperLogLogs 基数在 0-15000 范围内的数据集组成。 | 
|  lfu-log-factor |  类型：整数 允许的值：1- 默认值：10 |  LFU 驱逐策略递增密钥计数器的日志因数。 | 
|  lfu-decay-time |  类型：整数 允许的值：0- 默认：1 |  减少 LFU 驱逐策略的键计数器的时间，以分钟为单位。 | 
|  active-defrag-max-scan-fields |  类型：整数 允许的值：1-1000000 默认值：1000 |  在主动碎片整理期间，将从主字典扫描中处理的最大set/hash/zset/list字段数。 | 
|  active-defrag-threshold-upper |  类型：整数 允许的值：1-100 默认值：100 |  我们使用最大精力的碎片最高百分比。 | 
|  client-output-buffer-limit-pubsub-hard-limit |  类型：整数 允许的值：0- 默认值：33554432 |  对于 Redis OSS publish/subscribe 客户端：如果客户端的输出缓冲区达到指定的字节数，则客户端将断开连接。 | 
|  client-output-buffer-limit-pubsub-soft-limit |  类型：整数 允许的值：0- 默认值：8388608 |  对于 Redis OSS publish/subscribe 客户端：如果客户端的输出缓冲区达到指定的字节数，则客户端将断开连接，但前提是这种情况持续存在 `client-output-buffer-limit-pubsub-soft-seconds.` | 
|  client-output-buffer-limit-pubsub-soft-seconds |  类型：整数 允许的值：0- 默认值：60 |  对于 Redis OSS publish/subscribe 客户端：如果客户端的输出缓冲区保持`client-output-buffer-limit-pubsub-soft-limit`字节的时间超过此秒数，则客户端将断开连接。 | 
|  timeout |  类型：整数 允许的值：0,20- 默认：0 |  节点在超时之前等待的秒数。值为： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/memorydb/latest/devguide/parametergroups.redis.html)  | 
|  notify-keyspace-events |  类型：字符串 允许的值：NULL 默认值：NULL | Redis OSS 要通知 Pub/Sub 客户端的密钥空间事件。默认情况下，所有通知处于禁用状态。 | 
|  maxmemory-samples |  类型：整数 允许的值：1- 原定设置值：3 |  对于 least-recently-used`(LRU)`和`time-to-live (TTL)`计算，此参数表示要检查的密钥的样本量。默认情况下，Redis OSS 选择 3 个键并使用最近最少使用的一个键。 | 
|  slowlog-max-len |  类型：整数 允许的值：0- 默认值：128 |  Redis OSS 慢速日志的最大长度。此长度没有限制。请注意，它会消耗内存。您可以通过 `SLOWLOG RESET.` 回收慢日志使用的内存 | 
|  activerehashing |  类型：字符串 允许的值：yes、no 默认值：yes |  主哈希表每秒重新哈希十次；每个重新哈希操作消耗 1 毫秒的 CPU 时间。 在创建参数组时设置此值。向集群分配新参数组时，此值在旧参数组和新参数组中必须相同。 | 
|  client-output-buffer-limit-normal-hard-limit |  类型：整数 允许的值：0- 默认：0 |  如果客户端的输出缓冲区达到指定字节数，则客户端将断开连接。默认值为零（没有硬限制）。 | 
|  client-output-buffer-limit-normal-soft-limit |  类型：整数 允许的值：0- 默认：0 |  如果客户端的输出缓冲区达到指定字节数，则客户端将断开连接，但是仅当此条件保持 `client-output-buffer-limit-normal-soft-seconds` 时间时。默认值为零（没有软限制）。 | 
|  client-output-buffer-limit-normal-soft-seconds |  类型：整数 允许的值：0- 默认：0 |  如果客户端的输出缓冲区保持 `client-output-buffer-limit-normal-soft-limit` 字节的时间长于此秒数，则客户端将断开连接。默认值为零（没有时间限制）。 | 
|  tcp-keepalive |  类型：整数 允许的值：0- 默认：300 |  如果此参数设置为非零值（N），则节点客户端会每 N 秒轮询一次，以确保它们仍然连接。对于默认设置 0，不进行这种轮询。 | 
|  active-defrag-cycle-min |  类型：整数 允许的值：1-75 默认：5 |  用于碎片整理的最少精力，以 CPU 百分比为单位。 | 
|  stream-node-max-bytes |  类型：整数 允许的值：0- 默认值：4096 |  流数据结构是节点的基数树，这些节点对内部的多个项进行编码。使用此配置指定基数树中单个节点的最大大小（以字节为单位）。如果设置为 0，则树节点的大小是不受限制的。 | 
|  stream-node-max-entries |  类型：整数 允许的值：0- 默认值：100 |  流数据结构是节点的基数树，这些节点对内部的多个项进行编码。使用此配置指定在追加新的流条目时切换到新节点之前单个节点可包含的项的最大数目。如果设置为 0，则树节点中的项数是不受限制的。 | 
|  lazyfree-lazy-eviction |  类型：字符串 允许的值：yes、no 默认值：no |  对移出执行异步删除。 | 
|  active-defrag-ignore-bytes |  类型：整数 允许的值：1048576- 默认值：104857600 |  启动有效碎片整理的碎片垃圾最低量。 | 
|  lazyfree-lazy-expire |  类型：字符串 允许的值：yes、no 默认值：no |  对已过期密钥执行异步删除。 | 
|  active-defrag-threshold-lower |  类型：整数 允许的值：1-100 默认值：10 |  启动有效碎片整理的碎片最低百分比。 | 
|  active-defrag-cycle-max |  类型：整数 允许的值：1-75 默认值：75 |  用于碎片整理的最多精力，以 CPU 百分比为单位。 | 
|  lazyfree-lazy-server-del |  类型：字符串 允许的值：yes、no 默认值：no |  对更新值的命令执行异步删除。 | 
|  slowlog-log-slower-than |  类型：整数 允许的值：0- 默认值：10000 |  Redis OSS `Slow Log` 特征记录的命令的最长执行时间（单位：微秒）。请注意，负数表示禁用慢日志，而值为零则表示强制记录每个命令。 | 
|  hash-max-ziplist-entries |  类型：整数 允许的值：0- 默认值：512 |  确定用于哈希的内存量。条目少于指定数量的哈希使用节省空间的特殊编码进行存储。 | 
|  hash-max-ziplist-value |  类型：整数 允许的值：0- 默认值：64 |  确定用于哈希的内存量。条目小于指定字节数的哈希使用节省空间的特殊编码进行存储。 | 
|  set-max-intset-entries |  类型：整数 允许的值：0- 默认值：512 |  确定用于特定类型的集（在 64 位有符号整数的范围内，以 10 为基数的整数表示的字符串）的内存量。条目少于指定数量的这类集使用节省空间的特殊编码进行存储。 | 
|  zset-max-ziplist-entries |  类型：整数 允许的值：0- 默认值：128 |  确定用于排序集的内存量。元素少于指定数量的排序集使用节省空间的特殊编码进行存储。 | 
|  zset-max-ziplist-value |  类型：整数 允许的值：0- 默认值：64 |  确定用于排序集的内存量。条目小于指定字节数的排序集使用节省空间的特殊编码进行存储。 | 
|  tracking-table-max-keys |  类型：整数 允许的值：1-100000000 默认值：1000000 |  为了帮助客户端缓存，Redis OSS 支持跟踪哪些客户端访问了哪些键。 当所跟踪的密钥被修改后，会向所有客户端发送失效消息，通知它们缓存的值不再有效。此值允许您指定此表的上限。 | 
|  acllog-max-len |  类型：整数 允许的值：1-10000 默认值：128 |  ACL 日志的最大条目数。 | 
|  active-expire-effort |  类型：整数 允许的值：1-10 默认：1 |  Redis OSS 会通过两种机制删除超过键自身存活时间的键。一种机制是，访问密钥并发现其已过期。另一种机制是，周期性任务对密钥进行采样，并使那些超过其存活时间的密钥过期。此参数定义 Redis OSS 用于在周期性任务中使项目过期的工作量。 默认值 1 用于避免 10% 以上的过期密钥仍存在于内存中。其还用于避免 25% 以上的总内存被消耗及增加系统的延迟。您可以将此值增加到 10，以提高用在过期密钥上的工作量。需要权衡的是，当 CPU 更高时，延迟也可能会更高。我们建议将值设为 1，除非您发现内存使用率较高，并且可以容忍 CPU 使用率升高。 | 
|  lazyfree-lazy-user-del |  类型：字符串 允许的值：yes、no 默认值：no |  指定 `DEL` 命令的默认行为是否与 `UNLINK` 相同。 | 
|  activedefrag |  类型：字符串 允许的值：yes、no 默认值：no |  已启用有效的内存碎片整理。 | 
|  maxclients |  类型：整数 允许的值：65000 默认值：65000 |  可以一次连接的最大客户端连接数。不可修改。 | 
| client-query-buffer-limit |  类型：整数 允许的值：1048576-1073741824 默认值：1073741824  |  单个客户端查询缓冲区的最大大小。立即发生更改。  | 
| proto-max-bulk-len |  类型：整数 允许的值：1048576-536870912 默认值：536870912  |  单个元素请求的最大大小。立即发生更改。  | 

## MemoryDB 节点类型特定的参数
<a name="parametergroups.redis.nodespecific"></a>

虽然大多数参数具有单个值，但是某些参数根据使用的节点类型具有不同的值。下表显示了每种节点类型的 `maxmemory` 的默认值。`maxmemory` 的值是节点上可供您使用（数据和其他用途）的最大字节数。


|  节点类型  | Maxmemory  | 
| --- | --- | 
| db.r7g.large | 14037181030 | 
| db.r7g.xlarge | 28261849702 | 
| db.r7g.2xlarge | 56711183565 | 
| db.r7g.4xlarge | 113609865216 | 
| db.r7g.8xlarge | 225000375228 | 
| db.r7g.12xlarge | 341206346547 | 
| db.r7g.16xlarge | 450000750456 | 
| db.r6gd.xlarge | 28261849702 | 
| db.r6gd.2xlarge | 56711183565 | 
| db.r6gd.4xlarge | 113609865216 | 
| db.r6gd.8xlarge | 225000375228 | 
| db.r6g.large | 14037181030 | 
| db.r6g.xlarge | 28261849702 | 
| db.r6g.2xlarge | 56711183565 | 
| db.r6g.4xlarge | 113609865216 | 
| db.r6g.8xlarge | 225000375228 | 
| db.r6g.12xlarge | 341206346547 | 
| db.r6g.16xlarge | 450000750456 | 
| db.t4g.small | 1471026299 | 
| db.t4g.medium | 3317862236 | 

**注意**  
所有 MemoryDB 实例类型必须在 Amazon 虚拟私有云（VPC）中创建。