本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Valkey 和 Redis 的OSS配置和限制
Valkey 和 Redis OSS 引擎各自提供了许多配置参数,其中一些参数可以在 Redis 中 ElastiCache 进行修改,有些则不可修改以提供稳定的性能OSS和可靠性。
无服务器缓存
对于无服务器缓存,不使用参数组,所有 Valkey 或 Redis OSS 配置都不可修改。以下 Valkey 或 Redis OSS 参数已准备就绪:
Name | 详细信息 | 描述 |
---|---|---|
acl-pubsub-default |
|
缓存中ACL用户的默认 pubsub 频道权限。 |
client-output-buffer-limit |
|
普通客户端没有缓冲区限制。 PUB/如果SUB客户违反 32MiB 的待办事项或在 60 秒内违反 8MiB 的积压请求,则他们将断开连接。 |
client-query-buffer-limit |
1 GiB | 单个客户端查询缓冲区的最大大小。此外,客户端不能发布参数超过 4000 个的请求。 |
cluster-allow-pubsubshard-when-down |
yes |
这样在缓存部分关闭时,缓存仍能为 pubsub 流量提供服务。 |
cluster-allow-reads-when-down |
yes |
这样在缓存部分关闭时,缓存仍能为读取流量提供服务。 |
cluster-enabled |
yes |
所有无服务器缓存都启用了集群模式,这使得它们可以在多个后端分片之间透明地将数据分区。所有槽都对客户端显示为属于单个虚拟节点。 |
cluster-require-full-coverage |
no |
当键空间部分关闭时(即,至少有一个哈希槽无法访问),缓存将继续接受对仍在覆盖范围的部分键空间的查询。在 cluster slots 中,整个键空间将始终由单个虚拟节点“覆盖”。 |
lua-time-limit |
5000 |
Lua 脚本在采取行动停止脚本之前 ElastiCache 的最大执行时间,以毫秒为单位。 如果超过 |
maxclients |
65000 | 缓存上可以一次连接的最大客户端连接数。超过此数量后,连接不一定能成功。 |
maxmemory-policy |
volatile-lru |
当达到缓存的内存限制时,按照 least-recently-used (LRU) 估计,带有TTL集合的项目将被驱逐出去。 |
notify-keyspace-events |
(空字符串) | 无服务器缓存目前不支持键空间事件。 |
port |
主端口:6379 读取端口:6380 |
无服务器缓存向两个端口传播相同的主机名。主端口允许写入和读取,而读取端口则允许使用命令 READONLY 实现更低延迟的最终一致读数。 |
proto-max-bulk-len |
512 MiB | 单元素请求的最大大小。 |
timeout |
0 | 客户端不会在达到特定空闲时间后被强制断开连接,但在稳定状态期间,它们可能会出于负载均衡目的而断开连接。 |
此外还有以下限制:
Name | 详细信息 | 描述 |
---|---|---|
键名称长度 | 4 KiB | 单个 Valkey 或 Redis 密OSS钥或频道名称的最大大小。引用大于此值的键的客户端将收到错误消息。 |
Lua 脚本大小 | 4 MiB | 单个 Valkey 或 Redis OSS Lua 脚本的最大大小。尝试加载大于此值的 Lua 脚本将收到错误。 |
槽大小 | 32 GiB | 单个 Valkey 或 Redis OSS 哈希槽的最大大小。试图在单个 Valkey 或 Redis OSS 插槽上设置超过此数量的数据的客户端将在该插槽上触发驱逐策略,如果没有密钥可驱逐,则会收到内存不足 () 错误。OOM |
自行设计的集群
对于自行设计的集群,请参阅 Valkey 和 Redis 参数 OSS 以了解配置参数的默认值,以及哪些参数可供配置。通常建议使用默认值,除非您的特定使用案例要求覆盖这些值。