Redis服务端调优
目的
通过调整Redis参数来提升Redis的性能。
方法
每个Redis实例的参数可以通过编辑redis.conf文件进行配置,用户需要根据实际需要选择最适合自己应用场景的同步策略。
参数 |
含义 |
默认值 |
取值 |
---|---|---|---|
appendfsync |
该参数指定了Redis在将数据写入磁盘时的同步策略,具体含义如下:
|
everysec |
|
appendonly |
该参数用于指定是否启用Redis的持久化功能。 当该参数设置为yes时,表示启用Redis的持久化功能。Redis运行时将使用“append-only文件”来记录所有写入操作。 |
no |
|
cluster-require-full-coverage |
该参数用于指定集群中是否需要所有槽位都被分配到节点上,即是否需要完全覆盖。 默认情况下如果一个槽位没有被分配(该槽位没有分配可用的实例),那么Redis集群会停止接受查询请求,在这种情况下,如果集群部分实例故障(例如一部分槽位没有被覆盖),那整个集群也将不可用。一旦所有槽位被分配,集群会自动变为可用。 |
yes |
|
maxmemory |
该参数用于限制Redis占用的最大内存大小。单位为MB。 |
1024 |
1~1048576 |
maxmemory-policy |
该参数用于指定在达到最大内存限制时执行数据清除策略。可在以下8个行为中选择:
|
noeviction |
|
rdbchecksum |
该参数用于设置是否开启RDB校验。为了避免RDB持久化文件出错,建议开启RDB校验。 |
yes |
|
rdbcompression |
该参数用于控制Redis在执行RDB持久化时是否对数据进行压缩。 |
yes |
|
stop-writes-on-bgsave-error |
该参数用于控制当Redis在执行后台持久化操作(bgsave)时出现错误时的行为。 如果该参数设置为yes,则当Redis在执行bgsave操作出现错误时,Redis将停止接受写操作,直到管理员手动处理并解决bgsave错误。 |
yes |
|
activerehashing |
该参数用于控制是否重置hash表。 设置成yes后,redis将每100毫秒使用1毫秒CPU时间来对Redis的hash表重新hash,可降低内存的使用。当使用场景有较为严格的实时性需求时,把这项配置为no;如果没有严格的实时性要求,可以设置为yes,以便能尽可能快地释放内存。 |
no |
|
activedefrag |
该参数用于控制是否启用碎片整理功能。 当设置为yes时,Redis会在内存使用率超过指定阈值时,自动进行碎片整理,以减少内存碎片和提高内存使用效率。 |
no |
|