---
title: Redis配置调优
description: "通过调整Redis的参数配置，可以提升Redis的性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/systuningguide/systemtg/kunpengtypical_05_0019.html
sourcePath: /source/zh/kunpengcpfs/systuningguide/systemtg/kunpengtypical_05_0019.html
indexId: ac597ca6fc9094d8ac0cb382bb8dfa43a3d9d442dbe126f13f57af6f04337a6174
---
# Redis配置调优

通过调整Redis的参数配置，可以提升Redis的性能。

每个Redis实例的参数都可以通过修改默认配置路径“/etc/redis.conf”下的文件来调整。

在实际应用中，用户需根据表1以及实际应用场景选择最合适的同步策略。


**表1 Redis实例参数说明**

| 参数名称 | 默认值 | 推荐值 | 含义 |
| --- | --- | --- | --- |
| appendfsync | everysec | everysec | 该参数指定了Redis在将数据写入磁盘时的同步策略，具体含义如下： no：Redis不进行磁盘同步，仅将数据写入内存缓存中，操作系统在需要时将数据同步到磁盘。这种方式最快，但是数据会在Redis重启或者崩溃时丢失。 always：每次Redis执行写操作时都会将数据同步到磁盘，确保数据的持久化。这种方式最安全，但会降低Redis的性能。 everysec：Redis每秒将数据同步到磁盘一次，确保数据的持久化。这种方式是默认的同步策略，可以在一定程度上保证数据的安全性和Redis的性能。 |
| appendonly | no | no | 该参数用于指定是否启用Redis的持久化功能。 no：不启用Redis的持久化功能。 yes：启用Redis的持久化功能，Redis运行时将使用“append\-only文件”记录所有写入操作。 |
| save | save 900 1 save 300 10 save 60 10000 | save "" | 该参数用于保存数据到磁盘上。 默认情况下，Redis会根据配置的时间间隔和修改次数自动保存数据，如save 900 1表示900秒内至少有1次修改则保存数据。 建议使用空配置（save ""），即不依赖Redis的自动保存功能，而是根据实际需求通过其他方式（如手动触发或外部备份工具）进行数据备份。 |
| cluster\-require\-full\-coverage | yes | yes | 该参数用于指定集群中是否需要所有槽位都被分配到节点上，即是否需要完全覆盖。 yes：集群中所有槽位必须被分配，否则Redis集群将停止接受查询请求。在这种情况下，如果集群部分实例故障（例如一部分槽位没有被覆盖），那整个集群也将不可用。一旦所有槽位被分配，集群会自动变为可用。 no：允许部分槽位未被分配，提高集群的可用性。 |
| maxmemory | 1024 | 1024 | 该参数用于限制Redis占用的最大内存大小，单位为MB。 |
| maxmemory\-policy | noeviction | noeviction | 该参数用于指定在达到最大内存限制时执行数据清除策略。可在以下8个行为中选择： volatile\-lru：在过期键中使用LRU算法选择要清除的键。 allkeys\-lru：在所有键中使用LRU算法选择要清除的键。 volatile\-random：在过期键中随机选择要清除的键。 allkeys\-random：在所有键中随机选择要清除的键。 volatile\-ttl：清除最快过期的键。 allkeys\-smart：使用冷却算法在所有的键中选择一个进行清除。 volatile\-smart：使用冷却算法在设置了过期时间的键中选择一个进行清除。 noeviction：不会清除任何键，执行写操作时返回错误。 |
| rdbchecksum | yes | yes | 该参数用于设置是否启用RDB校验。 yes：启用 no：禁用 |
| rdbcompression | yes | yes | 该参数用于控制Redis在执行RDB持久化时是否对数据进行压缩。 yes：启用 no：禁用 |
| stop\-writes\-on\-bgsave\-error | yes | yes | 该参数用于控制当Redis在执行后台持久化操作（bgsave）时出现错误时的行为。 yes：表示当Redis在执行持久化操作（即bgsave）过程中出现错误时，Redis将停止接受写操作，直到管理员手动处理并解决bgsave错误。 no：表示在Redis执行后台持久化操作（即bgsave）过程中出现错误时，Redis不会停止接受写操作。这意味着即使bgsave失败，Redis仍然会继续处理客户端的写请求，而不会将这些请求阻塞或拒绝。 |
| activerehashing | no | no | 该参数用于控制是否重置hash表。 设置成yes后，Redis将每100毫秒使用1毫秒CPU时间来对Redis的hash表重新hash，可降低内存的使用。 当使用场景有较为严格的实时性需求时，把这项配置为no；如果没有严格的实时性要求，可以设置为yes，以便能尽可能快地释放内存。 |
| activedefrag | no | no | 该参数用于控制是否启用碎片整理功能。 yes：Redis会在内存使用率超过指定阈值时，自动进行碎片整理，以减少内存碎片和提高内存使用效率。 no：表示Redis不会启用自动内存碎片整理功能。 |
