参数配置

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

Alauda 应用服务为每个版本的 Redis 提供了专门的参数模板(6.0+ 版本提供三个模板,5.0 版本提供两个),以满足不同的操作需求。

参数模板说明注意事项
RDB 参数模板RDB 持久化参数模板 配置 Redis 以 RDB 持久化方式工作,按照配置的时间间隔将内存的数据集序列化为二进制快照并保存到磁盘。这种方式非常适合资源有限且需要在性能和数据耐久性之间取得平衡的环境,允许分钟级别的数据丢失。在此模式下,Redis 可以作为持久化的数据存储。数据耐久性依赖于 save 参数的配置,通常提供分钟级别的恢复点目标(RPO)。
AOF 参数模板AOF 持久化参数模板 配置 Redis 以追加只文件(AOF)持久化,这种方式将所有写操作按照顺序记录,确保数据的完整性。在实例恢复期间,Redis 会通过重放 AOF 文件中的操作来重建数据集。这种方式适合资源充足的环境,在这些环境中,数据安全性优先于性能考虑。在此模式下,Redis 也可以充当持久化数据存储。频繁的 fsync 操作对 AOF 持久化所需的高性能存储基础设施有要求,可能会影响整体的 Redis 性能,但提供秒级的 RPO。
无盘参数模板无盘参数模板 完全禁用了 Redis 的持久化机制。在这种配置中,Redis 纯粹作为内存缓存,以加速应用性能。所有数据保留在内存中,没有磁盘持久化,导致 Redis 重启或故障时数据丢失。这种配置最大化了性能,但牺牲了数据耐久性。数据只存在于内存中,消除了与存储相关的性能开销。然而,如果所有 Redis 节点失败,则会导致数据的完全丢失。

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

您还可以创建自定义参数模板以供多个实例重复使用。

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

名称参数说明
热更新参数许多支持动态重新配置的参数更改立即生效,无需重启实例。
重启更新参数databases, rename-command, rdbchecksum, tcp-backlog, io-threads, io-threads-do-reads更改需要重启整个实例才能生效。
不可修改参数bind, protected-mode, port, supervised, pidfile, dir, 等这些参数要么是内置的系统配置,要么在实例初始化后修改可能会导致操作不稳定,因此不可更改。

修改 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"}}}'
哨兵节点参数

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

当前仅支持以下三个参数:down-after-milliseconds, failover-timeout, parallel-syncs

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