redis系列(五):redis.conf配置文件常用配置介绍
- 常用配置
- 重点(面试常见)
- maxmemory-policy noeviction(redis清理缓存策略)
- maxmemory-samples 5 (清除缓存样本值)
- save 900 1(RDB快照触发配置)
- stop-writes-on-bgsave-error yes
- rdbcompression yes(压缩 rdb)
- appendonly no
- appendfilename "appendonly.aof"(aof文件)
- appendfsync everysec
- no-appendfsync-on-rewrite no
- auto-aof-rewrite-percentage 100
- auto-aof-rewrite-min-size 64mb
常用配置
include /xx/xx/xxx.conf(包含配置文件)
可以通过包含其他的配置文件进来,redis.conf作为总闸,包含其他。
# include /path/to/local.conf
# include /path/to/other.conf
requirepass foobared(redis访问密码)
daemonize no(是否守护进程,后台运行redis)
默认为不守护进程。no修改为yes,则守护进程(后台运行redis服务)。
port 6379(端口)
redis服务的端口号,一般默认为6379。
tcp-backlog 511
在高并发环境下,需要一个高的backlog值来避免客户端连接速度慢的问题
timeout 0 (客户端空闲时关闭连接)
客户端空闲N秒后关闭连接(0表示禁用)
tcp-keepalive 300
单位为秒,如果设置为0,则不会进行keepalive检测。6.0版本默认为300
loglevel notice(日志级别)
日志级别,默认为notice。
一共有四个级别:
- debug(开发,测试时使用)
- verbose (许多有用的信息)
- notice(生产时的信息)
- warning (只记录非常重要/关键的信息)
maxclients 10000(最大连接数)
最大连接数
maxmemory (最大内存)
重点(面试常见)
maxmemory-policy noeviction(redis清理缓存策略)
一共有8种策略:
- volatile-lru
清除最少使用的设置了过期的键 - allkeys-lru
清除任何最少使用的任意键 - volatile-lfu
清除使用次数少的设置了过期的键 - allkeys-lfu
清除使用次数少的任意键 - volatile-random
随机清除设置了过期的键 - allkeys-random
随机清除任意键。 - volatile-ttl
清除过期时间最近的键 - noeviction
永不过期
PS:LRU:表示最近最少使用;LFU:表示使用频率最低。
maxmemory-samples 5 (清除缓存样本值)
需要搭配缓存清理策略使用,设置一个样本值。
save 900 1(RDB快照触发配置)
900秒有1个更改就触发
stop-writes-on-bgsave-error yes
确保发生错误时保持数据的一致性。
rdbcompression yes(压缩 rdb)
默认为yes,会消耗一些CPU资源。
appendonly no
默认是关闭的
appendfilename “appendonly.aof”(aof文件)
aof的默认文件,跟dump.rdb是共存的。redis启动时,优先使用aof文件。
appendfsync everysec
一共有三种策略,默认为everysec。
- everysec: 异步操作,每秒记录。如果一秒内宕机,有数据丢失。
- always:同步持久化,每次发生数据变更会被立即记录到磁盘,性能较差但数据完整性比较好。
- no:不同步
no-appendfsync-on-rewrite no
重写时是否可以运用appendfsync,用默认no即可,保证数据安全性。
auto-aof-rewrite-percentage 100
设置重写的基准值
auto-aof-rewrite-min-size 64mb
设置重写的基准值