

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

# 使用参数组配置引擎参数
<a name="parametergroups"></a>

MemoryDB 使用参数控制节点和集群的运行时属性。通常，更新的引擎版本包含用于支持更新功能的其他参数。有关参数表，请参阅[引擎特定参数](parametergroups.redis.md)。

正如您所预期的，某些参数值（例如 `maxmemory`）由引擎和节点类型决定。有关由节点类型决定的这些参数值的表，请参阅[MemoryDB 节点类型特定的参数](parametergroups.redis.md#parametergroups.redis.nodespecific)。

**Topics**
+ [参数管理](parametergroups.management.md)
+ [参数组层](parametergroups.tiers.md)
+ [创建参数组](parametergroups.creating.md)
+ [按名称列出参数组](parametergroups.listingGroups.md)
+ [列出参数组的值](parametergroups.listingValues.md)
+ [修改参数组](parametergroups.modifying.md)
+ [删除参数组](parametergroups.deleting.md)
+ [引擎特定参数](parametergroups.redis.md)

# 参数管理
<a name="parametergroups.management"></a>

参数被分组到命名的参数组中，以便更轻松地管理参数。参数组表示在启动时传递给引擎软件的参数的特定值组合。这些值确定每个节点上的引擎进程在运行时的行为方式。特定参数组中的参数值应用于与该组关联的所有节点（不论这些节点属于哪个集群）。

要优化集群的性能，您可以修改某些参数值或更改集群的参数组。
+ 您无法修改或删除默认参数组。如果您需要自定义参数值，必须创建自定义参数组。
+ 参数组系列和您要分配给的集群必须兼容。例如，如果您的集群运行 Redis OSS 版本 6，您只能使用 memorydb\$1redis6 系列中的参数组（默认或自定义）。
+ 当您更改集群的参数时，更改会立即应用到集群。无论您是更改集群的参数组本身，还是更改集群参数组内的参数值，都是如此。

# 参数组层
<a name="parametergroups.tiers"></a>

*MemoryDB 参数组层*

**全局默认值**

用于区域中所有 MemoryDB 客户的顶级根参数组。

全局默认参数组：
+ 预留供 MemoryDB 使用，对客户不可用。

**客户默认值**

创建供用户使用的全局默认参数组的副本。

客户默认参数组：
+ 由 MemoryDB 创建和拥有。
+ 可供客户用作参数组，用于运行此参数组所支持引擎版本的任意集群。
+ 无法由客户编辑。

**客户拥有**

客户默认参数组的副本。客户拥有的参数组在客户创建参数组时创建。

客户拥有的参数组：
+ 由客户创建并拥有。
+ 可以分配给任意客户兼容的集群。
+ 可由客户修改用于创建自定义参数组。

  并非所有参数值均可修改。有关更多信息，请参阅 [引擎特定参数](parametergroups.redis.md)。

# 创建参数组
<a name="parametergroups.creating"></a>

如果存在一个或多个要从默认值更改的参数值，则需要创建新参数组。您可以使用 MemoryDB 控制台AWS CLI、或 MemoryDB API 创建参数组。

## 创建参数组（控制台）
<a name="parametergroups.creatingclusters.viewdetails"></a>

以下过程介绍了如何使用 MemoryDB 控制台创建参数组。

**使用 MemoryDB 控制台创建参数组**

1. 登录AWS 管理控制台并打开 MemoryDB 控制台，网址为。[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

1. 要查看所有可用的参数组列表，请在导航窗格左侧选择**Parameter Groups**。

1. 要创建参数组，请选择 **Create parameter group**。

   **创建参数组**页面将显示。

1. 在 **Name** 框中，键入此参数组的唯一名称。

   在创建集群或修改集群的参数组时，您将按参数组的名称选择参数组。因此，建议名称具有信息性，并且以某种方法标识该参数组的系列。

   参数组命名约束如下：
   + 必须以 ASCII 字母开头。
   + 只能包含 ASCII 字母、数字和连字符。
   + 长度必须介于 1 到 255 个字符之间。
   + 不能包含两个连续连字符。
   + 不能以连字符结束。

1. 在 **Description** 框中，键入参数组的说明。

1. 在引擎版本兼容性框中，选择与参数组对应的引擎版本。

1. 在**标签**中，可以选择添加标签以搜索和筛选参数组或跟踪AWS成本。

1. 要创建参数组，请选择 **Create**。

   要在不创建参数组的情况下终止此过程，请选择 **Cancel**。

1. 创建参数组后，它将具有系列的默认值。要更改默认值，您必须修改参数组。有关更多信息，请参阅 [修改参数组](parametergroups.modifying.md)。

## 创建参数组 (AWSCLI)
<a name="parametergroups.creating.cli"></a>

要使用创建参数组AWS CLI，请使用`create-parameter-group`带有这些参数的命令。
+ `--parameter-group-name` – 参数组的名称。

  参数组命名约束如下：
  + 必须以 ASCII 字母开头。
  + 只能包含 ASCII 字母、数字和连字符。
  + 长度必须介于 1 到 255 个字符之间。
  + 不能包含两个连续连字符。
  + 不能以连字符结束。
+ `--family` – 参数组的引擎和版本系列。
+ `--description` – 用户提供的参数组描述。

**Example**  
以下示例使用 memorydb\$1redis6 系列作为模板来创建名为 *myRedis6x* 的参数组。  
对于 Linux、macOS 或 Unix：  

```
aws memorydb create-parameter-group \
    --parameter-group-name myRedis6x  \
    --family memorydb_redis6 \
    --description "My first parameter group"
```
对于 Windows：  

```
aws memorydb create-parameter-group ^
    --parameter-group-name myRedis6x  ^
    --family memorydb_redis6 ^
    --description "My first parameter group"
```
该命令的输出内容应类似如下所示。  

```
{
    "ParameterGroup": {
        "Name": "myRedis6x", 
        "Family": "memorydb_redis6",
        "Description": "My first parameter group",
        "ARN": "arn:aws:memorydb:us-east-1:012345678912:parametergroup/myredis6x"
    }
}
```

创建参数组后，它将具有系列的默认值。要更改默认值，您必须修改参数组。有关更多信息，请参阅 [修改参数组](parametergroups.modifying.md)。

有关更多信息，请参阅 [https://docs.aws.amazon.com/cli/latest/reference/memorydb/create-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/memorydb/create-parameter-group.html)。

## 创建参数组（MemoryDB API）
<a name="parametergroups.creating.api"></a>

要使用 MemoryDB API 创建参数组，请使用带以下参数的 `CreateParameterGroup` 操作。
+ `ParameterGroupName` – 参数组的名称。

  参数组命名约束如下：
  + 必须以 ASCII 字母开头。
  + 只能包含 ASCII 字母、数字和连字符。
  + 长度必须介于 1 到 255 个字符之间。
  + 不能包含两个连续连字符。
  + 不能以连字符结束。
+ `Family` – 参数组的引擎和版本系列。例如 `memorydb_redis6`。
+ `Description` – 用户提供的参数组描述。

**Example**  
以下示例使用 memorydb\$1redis6 系列作为模板来创建名为 *myRedis6x* 的参数组。  

```
https://memory-db.us-east-1.amazonaws.com/
   ?Action=CreateParameterGroup
   &Family=memorydb_redis6
   &ParameterGroupName=myRedis6x
   &Description=My%20first%20parameter%20group
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20210802T192317Z
   &Version=2021-01-01
   &X-Amz-Credential=<credential>
```
来自此操作的响应应类似如下所示。  

```
<CreateParameterGroupResponse xmlns="http://memory-db.us-east-1.amazonaws.com/doc/2021-01-01/">
  <CreateParameterGroupResult>
    <ParameterGroup>
      <Name>myRedis6x</Name>
      <Family>memorydb_redis6</Family>
      <Description>My first parameter group</Description>
      <ARN>arn:aws:memorydb:us-east-1:012345678912:parametergroup/myredis6x</ARN>
    </ParameterGroup>
  </CreateParameterGroupResult>
  <ResponseMetadata>
    <RequestId>d8465952-af48-11e0-8d36-859edca6f4b8</RequestId>
  </ResponseMetadata>
</CreateParameterGroupResponse>
```

创建参数组后，它将具有系列的默认值。要更改默认值，您必须修改参数组。有关更多信息，请参阅 [修改参数组](parametergroups.modifying.md)。

有关更多信息，请参阅 [https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateParameterGroup.html](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateParameterGroup.html)。

# 按名称列出参数组
<a name="parametergroups.listingGroups"></a>

您可以使用 MemoryDB 控制台AWS CLI、或 MemoryDB API 列出参数组。

## 按名称列出参数组（控制台）
<a name="parametergroups.listingGroupsclusters.viewdetails"></a>

以下过程介绍了如何使用 MemoryDB 控制台查看参数组列表。

**使用 MemoryDB 控制台列出参数组**

1. 登录AWS 管理控制台并打开 MemoryDB 控制台，网址为。[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

1. 要查看所有可用的参数组列表，请在导航窗格左侧选择**Parameter Groups**。

## 按名称列出参数组 (AWSCLI)
<a name="parametergroups.listingGroups.cli"></a>

要使用生成参数组列表AWS CLI，请使用命令`describe-parameter-groups`。如果提供了参数组的名称，将只会列出该参数组。如果未提供参数组的名称，将列出最多 `--max-results` 个参数组。在任一情况下，都会列出参数组的名称、系列和描述。

**Example**  
以下示例代码列出了参数组 *myRedis6x*。  
对于 Linux、macOS 或 Unix：  

```
aws memorydb describe-parameter-groups \
    --parameter-group-name myRedis6x
```
对于 Windows：  

```
aws memorydb describe-parameter-groups ^
    --parameter-group-name myRedis6x
```
该命令的输出内容将类似如下所示，列出参数组的名称、系列和描述。  

```
{
    "ParameterGroups": [
	    {
	        "Name": "myRedis6x", 
	        "Family": "memorydb_redis6",
	        "Description": "My first parameter group",
                "ARN": "arn:aws:memorydb:us-east-1:012345678912:parametergroup/myredis6x"
	    }
    ]
}
```

**Example**  
以下示例代码列出了在 Valkey 或 Redis OSS 引擎 5.0.6 和更高版本上运行的参数组 *myRedis6x*。  
对于 Linux、macOS 或 Unix：  

```
aws memorydb describe-parameter-groups \
    --parameter-group-name myRedis6x
```
对于 Windows：  

```
aws memorydb describe-parameter-groups ^
    --parameter-group-name myRedis6x
```
该命令的输出内容将类似如下所示，列出参数组的名称、系列和描述。  

```
{
    "ParameterGroups": [
	    {
	        "Name": "myRedis6x", 
	        "Family": "memorydb_redis6",
	        "Description": "My first parameter group",
                "ARN": "arn:aws:memorydb:us-east-1:012345678912:parametergroup/myredis6x"
	    }
    ]
}
```

**Example**  
以下示例代码列出最多 20 个参数组。  

```
aws memorydb describe-parameter-groups --max-results 20
```
该命令的 JSON 输出内容将类似如下所示，列出每个参数组的名称、系列和描述。  

```
{
    "ParameterGroups": [
        {
            "ParameterGroupName": "default.memorydb-redis6",
            "Family": "memorydb_redis6",
            "Description": "Default parameter group for memorydb_redis6",
            "ARN": "arn:aws:memorydb:us-east-1:012345678912:parametergroup/default.memorydb-redis6"
        }, 
        ...
    ]
}
```

有关更多信息，请参阅 [https://docs.aws.amazon.com/cli/latest/reference/memorydb/describe-parameter-groups.html](https://docs.aws.amazon.com/cli/latest/reference/memorydb/describe-parameter-groups.html)。

## 按名称列出参数组（MemoryDB API）
<a name="parametergroups.listingGroups.api"></a>

要使用 MemoryDB API 生成参数组的列表，请使用 `DescribeParameterGroups` 操作。如果提供了参数组的名称，将只会列出该参数组。如果未提供参数组的名称，将列出最多 `MaxResults` 个参数组。在任一情况下，都会列出参数组的名称、系列和描述。

**Example**  
以下示例代码列出最多 20 个参数组。  

```
https://memory-db.us-east-1.amazonaws.com/
   ?Action=DescribeParameterGroups
   &MaxResults=20
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20210802T192317Z
   &Version=2021-01-01
   &X-Amz-Credential=<credential>
```
来自此操作的响应应类似如下所示，列出每个参数组 memorydb\$1redis6 时的名称、系列和描述。  

```
<DescribeParameterGroupsResponse xmlns="http://memory-db.us-east-1.amazonaws.com/doc/2021-01-01/">
  <DescribeParameterGroupsResult>
    <ParameterGroups>
      <ParameterGroup>
        <Name>myRedis6x</Name>
        <Family>memorydb_redis6</Family>
        <Description>My custom Redis OSS 6 parameter group</Description>
        <ARN>arn:aws:memorydb:us-east-1:012345678912:parametergroup/myredis6x</ARN>
      </ParameterGroup>     
       <ParameterGroup>
        <Name>default.memorydb-redis6</Name>
        <Family>memorydb_redis6</Family>
        <Description>Default parameter group for memorydb_redis6</Description>
        <ARN>arn:aws:memorydb:us-east-1:012345678912:parametergroup/default.memorydb-redis6</ARN>
      </ParameterGroup>
    </ParameterGroups>
  </DescribeParameterGroupsResult>
  <ResponseMetadata>
    <RequestId>3540cc3d-af48-11e0-97f9-279771c4477e</RequestId>
  </ResponseMetadata>
</DescribeParameterGroupsResponse>
```

**Example**  
以下示例代码列出了参数组 *myRedis6x*。  

```
https://memory-db.us-east-1.amazonaws.com/
   ?Action=DescribeParameterGroups
   &ParameterGroupName=myRedis6x
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20210802T192317Z
   &Version=2021-01-01
   &X-Amz-Credential=<credential>
```
来自此操作的响应将类似如下所示，列出名称、系列和描述。  

```
<DescribeParameterGroupsResponse xmlns="http://memory-db.us-east-1.amazonaws.com/doc/2021-01-01/">
  <DescribeParameterGroupsResult>
    <ParameterGroups>
      <ParameterGroup>
        <Name>myRedis6x</Name>
        <Family>memorydb_redis6</Family>
        <Description>My custom Redis OSS 6 parameter group</Description>
        <ARN>arn:aws:memorydb:us-east-1:012345678912:parametergroup/myredis6x</ARN>
      </ParameterGroup>
    </ParameterGroups>
  </DescribeParameterGroupsResult>
  <ResponseMetadata>
    <RequestId>3540cc3d-af48-11e0-97f9-279771c4477e</RequestId>
  </ResponseMetadata>
</DescribeParameterGroupsResponse>
```

有关更多信息，请参阅 [https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeParameterGroups.html](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeParameterGroups.html)。

# 列出参数组的值
<a name="parametergroups.listingValues"></a>

您可以使用 MemoryDB 控制台、或 MemoryDB API 列出参数组的AWS CLI参数及其值。

## 列出参数组的值（控制台）
<a name="parametergroups.listingValuesclusters.viewdetails"></a>

以下过程介绍了如何使用 MemoryDB 控制台列出参数组的参数及其值。

**使用 MemoryDB 控制台列出参数组的参数及其值**

1. 登录AWS 管理控制台并打开 MemoryDB 控制台，网址为。[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

1. 要查看所有可用的参数组列表，请在导航窗格左侧选择**Parameter Groups**。

1. 通过选择参数组名称的名称（而不是名称旁边的框）来选择要列出其中包含的参数及其值的参数组。

   屏幕底部将列出这些参数及其值。由于参数的数量，您可能需要上下滚动来查找所需的参数。

## 列出参数组的值 (AWSCLI)
<a name="parametergroups.listingValues.cli"></a>

要使用列出参数组的参数及其值AWS CLI，请使用命令`describe-parameters`。

**Example**  
以下示例代码列出了参数组 *myRedis6x* 的所有参数及其值。  
对于 Linux、macOS 或 Unix：  

```
aws memorydb describe-parameters \
    --parameter-group-name myRedis6x
```
对于 Windows：  

```
aws memorydb describe-parameters ^
    --parameter-group-name myRedis6x
```

有关更多信息，请参阅 [https://docs.aws.amazon.com/cli/latest/reference/memorydb/describe-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/memorydb/describe-parameters.html)。

## 列出参数组的值（MemoryDB API）
<a name="parametergroups.listingValues.api"></a>

要使用 MemoryDB API 列出参数组的参数及其值，请使用 `DescribeParameters` 操作。

有关更多信息，请参阅 [https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeParameters.html](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeParameters.html)。

# 修改参数组
<a name="parametergroups.modifying"></a>

**重要**  
您无法修改任何默认参数组。

您可以修改参数组中的某些参数值。这些参数值应用于与参数组关联的集群。有关参数值更改何时应用于参数组的更多信息，请参阅[引擎特定参数](parametergroups.redis.md)。

## 修改参数组（控制台）
<a name="parametergroups.modifyingclusters.viewdetails"></a>

以下过程介绍了如何使用 MemoryDB 控制台更改参数值。您可以使用相同的过程来更改任意参数的值。

**使用 MemoryDB 控制台更改参数值**

1. 登录AWS 管理控制台并打开 MemoryDB 控制台，网址为。[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

1. 要查看所有可用的参数组列表，请在导航窗格左侧选择**Parameter Groups**。

1. 通过选择参数组名称左侧的单选按钮来选择要修改的参数组。

   选择**操作**，然后选择**查看详细信息**。或者选择参数组名称以转到详细信息页面。

1. 要修改参数，请选择**编辑**。所有可编辑的参数都将启用编辑功能。您可能需要跨页移动才能找到待更改参数。或者在搜索框中按名称、值或类型搜索参数。

1. 对参数进行任何必要的修改。

1. 要保存您的更改，请选择**保存更改**。

1. 如果您修改了跨页显示的参数值，则可以通过选择**预览更改**来查看所有更改。要确认更改，请选择**保存更改**。要进行更多修改，请选择**返回**。

1. **参数详细信息**页面还允许您选择重置为默认值。要重置为默认值，请选择**重置为默认值**。复选框将出现在所有参数的左侧。您可以选择待重置项，然后选择**进行重置**以确认。

   选择**确认**以确认对话框中的重置操作。

1. 参数详细信息页面允许您设置要每页可查看的参数数量。使用右侧的齿轮进行这些更改。您还 enable/disable 可以在详细信息页面上添加所需的列。这些更改将持续到控制台的会话中。

   要查找您更改的参数名称，请参阅[引擎特定参数](parametergroups.redis.md)。



## 修改参数组 (AWSCLI)
<a name="parametergroups.modifying.cli"></a>

要使用更改参数的值AWS CLI，请使用命令`update-parameter-group`。

要查找您要更改的参数名称和允许的值，请参阅[引擎特定参数](parametergroups.redis.md)

有关更多信息，请参阅 [update-parameter-group](https://docs.aws.amazon.com//cli/latest/reference/memorydb/update-parameter-group.html)。

## 修改参数组（MemoryDB API）
<a name="parametergroups.modifying.api"></a>

要使用 MemoryDB API 更改参数组的参数值，请使用 `UpdateParameterGroup` 操作。

要查找您要更改的参数名称和允许的值，请参阅[引擎特定参数](parametergroups.redis.md)

有关更多信息，请参阅 [https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateParameterGroup.html](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateParameterGroup.html)。

# 删除参数组
<a name="parametergroups.deleting"></a>

您可以使用 MemoryDB 控制台、或 MemoryDB API AWS CLI 删除自定义参数组。

如果参数组与任何集群关联，则无法将其删除。也无法删除任一默认参数组。

## 删除参数组（控制台）
<a name="parametergroups.deletingclusters.viewdetails"></a>

以下过程介绍了如何使用 MemoryDB 控制台删除参数组。

**使用 MemoryDB 控制台删除参数组**

1. 登录AWS 管理控制台并打开 MemoryDB 控制台，网址为。[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

1. 要查看所有可用的参数组列表，请在导航窗格左侧选择**Parameter Groups**。

1. 通过选择参数组名称左侧的单选按钮来选择要删除的参数组。

   选择 **操作**，然后选择 **删除**。

1. **Delete Parameter Groups** 确认屏幕随即出现。

1. 要删除参数组，请在确认文本框中输入**删除**。

   要保留参数组，请选择 **Cancel**。

## 删除参数组 (AWSCLI)
<a name="parametergroups.deleting.cli"></a>

要使用删除参数组AWS CLI，请使用命令`delete-parameter-group`。对于要删除的参数组，由 `--parameter-group-name` 指定的参数组不能具有与之关联的任何集群，也不能是默认参数组。

以下示例代码删除 *myRedis6x* 参数组。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws memorydb delete-parameter-group \
    --parameter-group-name myRedis6x
```
对于 Windows：  

```
aws memorydb delete-parameter-group ^
    --parameter-group-name myRedis6x
```

有关更多信息，请参阅 [delete-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/memorydb/delete-parameter-group.html)。

## 删除参数组（MemoryDB API）
<a name="parametergroups.deleting.api"></a>

要使用 MemoryDB API 删除参数组，请使用 `DeleteParameterGroup` 操作。对于要删除的参数组，由 `ParameterGroupName` 指定的参数组不能具有与之关联的任何集群，也不能是默认参数组。

**Example**  
以下示例代码删除 *myRedis6x* 参数组。  

```
https://memory-db.us-east-1.amazonaws.com/
   ?Action=DeleteParameterGroup
   &ParameterGroupName=myRedis6x
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20210802T192317Z
   &Version=2021-01-01
   &X-Amz-Credential=<credential>
```

有关更多信息，请参阅 [https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteParameterGroup.html](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteParameterGroup.html)。

# 引擎特定参数
<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）中创建。