参数配置

创建 Redis 实例时,系统会应用默认的参数模板。

Alauda Application Services 为每个 Redis 版本提供了专用的参数模板(6.0+ 版本有三个模板,5.0 版本有两个),以满足不同的运维需求。

参数模板描述注意事项
RDB 参数模板RDB 持久化参数模板 配置 Redis 使用 RDB 持久化机制,该机制会在配置的时间间隔内将内存中的数据集序列化为二进制快照并写入磁盘。此方案适用于资源有限、需要在性能和数据持久性之间取得平衡、且允许分钟级数据丢失的场景。Redis 在此模式下可作为持久化数据存储使用。数据持久性依赖于 save 参数配置,通常提供分钟级的恢复点目标(RPO)。
AOF 参数模板AOF 持久化参数模板 配置 Redis 使用追加文件(Append-Only File)持久化机制,顺序记录所有写操作以保证数据完整性。实例恢复时,Redis 会回放 AOF 文件中的操作以重建数据集。此方案适用于资源充足、数据安全优先于性能的场景。Redis 在此模式下可作为持久化数据存储使用。AOF 持久化需要频繁执行 fsync 操作,要求高性能存储基础设施,可能影响 Redis 整体性能,但能提供秒级的恢复点目标(RPO)。
Diskless 参数模板无持久化参数模板 完全禁用 Redis 的持久化机制。此配置下,Redis 仅作为内存缓存加速应用性能,所有数据仅存在内存中,不进行磁盘持久化,Redis 重启或故障时数据将丢失。该配置最大化性能,但牺牲了数据持久性。数据仅存在内存中,消除了存储相关的性能开销。但所有 Redis 节点故障时会导致数据完全丢失。

创建 Redis 实例时,请在 创建 Redis 实例 页面中的 参数模板 字段选择最符合业务需求的模板。

您也可以创建自定义参数模板,以便在多个实例间复用。

Redis 参数根据变更生效方式分为三类:

类别参数行为
热更新参数支持动态重新配置的各类参数变更后立即生效,无需重启实例。
重启生效参数databasesrename-commandrdbchecksumtcp-backlogio-threadsio-threads-do-reads变更后需完整重启实例才能生效。
不可修改参数bindprotected-modeportsupervisedpidfiledir这些参数为内置系统配置,或实例初始化后修改可能导致运行不稳定。

修改 Redis 参数时,请参考以下最佳实践:

  • 在实施参数变更前,确认参数是否支持热更新。对于需重启生效的参数,修改前应做好相应的数据备份。
  • 升级 Redis 版本后,请查阅 Redis 配置文档 以确认参数兼容性,识别已废弃、移除或变更的参数。

目录

操作步骤

CLI
Web Console

数据节点参数

实例的数据节点参数配置通过 Redis CR 资源的 spec.customConfig 字段指定。详细参数说明请参考 API 文档

# 更新实例 s6 的数据节点配置
$ kubectl -n default patch redis s6 --type=merge --patch='{"spec": {"customConfig": {"save":"600 1"}}}'

Sentinel 节点参数

注册到 sentinel 节点的数据节点参数配置如下:

目前仅支持以下三个参数:down-after-millisecondsfailover-timeoutparallel-syncs

# 更新实例 s6 的 sentinel 节点配置
$ kubectl -n default patch redis s6 --type=merge --patch='{"spec": {"sentinel": {"monitorConfig": {"down-after-milliseconds":"30000","failover-timeout":"180000","parallel-syncs":"1"}}}}'