本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Redis 特定的参数
如果您没有为 Redis 集群指定参数组,则将使用适合您引擎版本的默认参数组。您无法更改默认参数组中的任何参数的值。但是,您可以随时创建自定义参数组并将其分配给集群,只要可按条件修改的参数的值在两个参数组中相同。有关更多信息,请参阅 创建参数组。
Redis 6 参数
参数组系列:memorydb_redis6
Redis 6 中添加的参数如下所示。
| 名称 | 详细信息 | 说明 |
|---|---|---|
maxmemory-policy
|
类型: STRING 允许的值:volatile-lru、allkeys-lru、volatile-lfu、allkeys-lfu、挥发性随机、ALLKEYS-随机、volatile-ttl、noeviction 默认值:noeviction |
达到最大内存使用率时密钥的移出策略。 有关更多信息,请参阅将 Redis 用作 LRU 缓存。将 Redis 用作 LRU 缓存 |
list-compress-depth |
类型: INTEGER 允许的值:—0 默认值:0 |
压缩深度是要从压缩中排除的列表各端的 quicklist ziplist 节点的数目。始终不会压缩列表的首尾以便执行快速推送和弹出操作。设置为:
|
hll-sparse-max-bytes |
类型: INTEGER 允许的值:1-16000 默认值:3000 |
HyperLog日志稀疏表示形式字节限制。限制包括 16 个字节的标头。当HyperLog使用稀疏表示形式的日志超出此限制,它会转换成密集表现形式。 不建议使用超过 16000 的值,因为此时密集表现形式具有更高的内存效率。 我们建议使用 3000 左右的值来获得空间效率较高的编码,同时不会降低效率。 |
lfu-log-factor |
类型: INTEGER 允许的值:–1 默认值:10 |
用于增加 LFU 驱逐策略的密钥计数器的日志因子。 |
lfu-decay-time |
类型: INTEGER 允许的值:—0 默认值:1 |
减少 LFU 驱逐策略的键计数器的时间,以分钟为单位。 |
active-defrag-max-scan-fields |
类型: INTEGER 允许的值:1-1000000 默认值:1000 |
在活动碎片整理过程中,将从主字典扫描中处理的最大 sethash/zset/list 字段数。 |
active-defrag-threshold-upper |
类型: INTEGER 允许的值:1-100 默认值:100 |
我们使用最大精力的碎片最高百分比。 |
client-output-buffer-limit-pubsub-hard-limit |
类型: INTEGER 允许的值:—0 默认值:33554432 |
对于 Redis 发布/订阅客户端:如果客户端的输出缓冲区达到指定字节数,则客户端将断开连接。 |
client-output-buffer-limit-pubsub-soft-limit |
类型: INTEGER 允许的值:—0 默认值:8388608 |
对于 Redis 发布/订阅客户端:如果客户端的输出缓冲区达到指定字节数,则客户端将断开连接,但是仅当此条件保持时间时。 |
client-output-buffer-limit-pubsub-soft-seconds |
类型: INTEGER 允许的值:—0 默认值:60 |
对于 Redis 发布/订阅客户端:如果客户端的输出缓冲区保持 |
timeout |
类型: INTEGER 允许的值:0,20- 默认值:0 |
节点在超时之前等待的秒数。值为:
|
notify-keyspace-events |
类型: STRING 允许的值:NULL 默认值:NULL |
Redis 用于通知 Pub/Sub 客户关于的密钥空间事件。默认情况下,禁用所有通知。 |
maxmemory-samples |
类型: INTEGER 允许的值:–1 默认值:3 |
适用于least-recently-used |
slowlog-max-len |
类型: INTEGER 允许的值:—0 默认值:128 |
Redis 慢速日志的最大长度。这个长度没有限制。请注意,它会消耗内存。你可以使用回收慢日志使用的内存 |
activerehashing |
类型: STRING 允许的值:Yes、no 默认值:yes |
主哈希表每秒重新哈希十次;每个重新哈希操作消耗 1 毫秒的 CPU 时间。 在创建参数组时设置此值。向集群分配新参数组时,此值在旧参数组和新参数组中必须相同。 |
client-output-buffer-limit-normal-hard-limit |
类型: INTEGER 允许的值:—0 默认值:0 |
如果客户端的输出缓冲区达到指定字节数,则客户端将断开连接。默认值为零(没有硬限制)。 |
client-output-buffer-limit-normal-soft-limit |
类型: INTEGER 允许的值:—0 默认值:0 |
如果客户端的输出缓冲区达到指定字节数,则客户端将断开连接,但是仅当此条件保持 |
client-output-buffer-limit-normal-soft-seconds |
类型: INTEGER 允许的值:—0 默认值:0 |
如果客户端的输出缓冲区保持 |
tcp-keepalive |
类型: INTEGER 允许的值:—0 默认值:300 |
如果此参数设置为非零值 (N),则节点客户端会每 N 秒轮询一次,以确保它们仍然连接。对于默认设置 0,不进行这种轮询。 |
active-defrag-cycle-min |
类型: INTEGER 允许的值:1-75 默认值:5 |
用于碎片整理的最少精力,以 CPU 百分比为单位。 |
stream-node-max-bytes |
类型: INTEGER 允许的值:—0 默认值:4096 |
流数据结构是节点的基数树,这些节点对内部的多个项进行编码。使用此配置指定基数树中单个节点的最大大小(以字节为单位)。如果设置为 0,则树节点的大小是不受限制的。 |
stream-node-max-entries |
类型: INTEGER 允许的值:—0 默认值:100 |
流数据结构是节点的基数树,这些节点对内部的多个项进行编码。使用此配置指定在追加新的流条目时切换到新节点之前单个节点可包含的项的最大数目。如果设置为 0,则树节点中的项数是不受限制的。 |
lazyfree-lazy-eviction |
类型: STRING 允许的值:Yes、no 默认值:no |
对移出执行异步删除。 |
active-defrag-ignore-bytes |
类型: INTEGER 允许的值:1048576- 默认值:104857600 |
启动有效碎片整理的碎片垃圾最低量。 |
lazyfree-lazy-expire |
类型: STRING 允许的值:Yes、no 默认值:no |
对已过期密钥执行异步删除。 |
active-defrag-threshold-lower |
类型: INTEGER 允许的值:1-100 默认值:10 |
启动有效碎片整理的碎片最低百分比。 |
active-defrag-cycle-max |
类型: INTEGER 允许的值:1-75 默认值:75 |
用于碎片整理的最多精力,以 CPU 百分比为单位。 |
lazyfree-lazy-server-del |
类型: STRING 允许的值:Yes、no 默认值:no |
对更新值的命令执行异步删除。 |
slowlog-log-slower-than |
类型: INTEGER 允许的值:—0 默认值:10000 |
Redis 记录命令的最大执行时间(单位:微秒)。 |
hash-max-ziplist-entries |
类型: INTEGER 允许的值:—0 默认值:512 |
确定用于哈希的内存量。条目少于指定数量的哈希使用节省空间的特殊编码进行存储。 |
hash-max-ziplist-value |
类型: INTEGER 允许的值:—0 默认值:64 |
确定用于哈希的内存量。条目小于指定字节数的哈希使用节省空间的特殊编码进行存储。 |
set-max-intset-entries |
类型: INTEGER 允许的值:—0 默认值:512 |
确定用于特定类型的集(在 64 位有符号整数的范围内,以 10 为基数的整数表示的字符串)的内存量。条目少于指定数量的这类集使用节省空间的特殊编码进行存储。 |
zset-max-ziplist-entries |
类型: INTEGER 允许的值:—0 默认值:128 |
确定用于排序集的内存量。元素少于指定数量的排序集使用节省空间的特殊编码进行存储。 |
zset-max-ziplist-value |
类型: INTEGER 允许的值:—0 默认值:64 |
确定用于排序集的内存量。条目小于指定字节数的排序集使用节省空间的特殊编码进行存储。 |
tracking-table-max-keys |
类型: INTEGER 允许的值:1-100000000 默认值:1000000 |
为了帮助客户端缓存,Redis 支持跟踪哪些客户端访问了哪些密钥。 当所跟踪的密钥被修改后,会向所有客户端发送失效消息,通知它们缓存的值不再有效。此值允许您指定此表的上限。 |
acllog-max-len |
类型: INTEGER 允许的值:1-10000 默认值:128 |
ACL 日志中的最大条目数。 |
active-expire-effort |
类型: INTEGER 允许的值:1-10 默认值:1 |
Redis 会通过两种机制删除超过密钥自身存活时间的密钥。一种机制是,访问密钥并发现其已过期。另一种机制是,周期性任务对密钥进行采样,并使那些超过其存活时间的密钥过期。此参数定义 Redis 用于在周期性任务中使项目过期的工作量。 默认值 1 用于避免 10% 以上的过期密钥仍存在于内存中。其还用于避免 25% 以上的总内存被消耗及增加系统的延迟。您可以将此值增加到 10,以提高用在过期密钥上的工作量。需要权衡的是,当 CPU 更高时,延迟也可能会更高。我们建议将值设为 1,除非您发现内存使用率较高,并且可以容忍 CPU 使用率升高。 |
lazyfree-lazy-user-del |
类型: STRING 允许的值:Yes、no 默认值:no |
指定的默认行为 |
activedefrag |
类型: STRING 允许的值:Yes、no 默认值:no |
已启用活动内存碎片整理。 |
特定于 MemeryDB 节点类型的参数
虽然大多数参数具有单个值,但是某些参数根据使用的节点类型具有不同的值。下表显示了maxmemory对于每种节点类型。maxmemory 的值是节点上可供您使用(数据和其他用途)的最大字节数。
| 节点类型 | Maxmemory |
|---|---|
| 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 |
AutoryDB 所有实例类型必须在 Amazon Virtual Private Cloud VPC 中创建。