5. 常用配置
5.1 INCLUDES
- 和Spring的配置文件一样,我们可以配置多个Redis的配置文件,然后在这个条目下将他们全部导入,进行整合
- 示例
include /path/to/local.conf
include /path/to/other.conf
5.2 NETWORK
bind 127.0.0.1
- Redis默认是白名单,也就是说只有受信任的地址才可以连接
- 不过和常见的绑定信任用户地址不同,Redis绑定的是受信任的 network interface,也就是说绑定的是网卡地址,只有绑定了网卡地址,Redis才会监听来自受信任网卡的连接请求
- 不配置的话默认就接收所有请求
protected-mode yes
- 保护模式,这个要开启
port 6379
- 端口号配置
timeout 0
- 超时等待
5.3 GENERAL
daemonize yes
- 是否开启守护进程,是否允许后台允许
supervised no
- 管理守护进程的方式,通过upstart和systemd管理
pidfile /var/run/redis_6379.pid
- pid文件位置,尽管不配置Redis也会正常运行
loglevel notice
- 日志等级,
debug
,verbose
,notice
,warning
logfile "redis.log"
- 日志文件名配置
databases 16
- 开启的数据库数量
always-show-logo yes
- 总是展示LOGO
5.4 SNAPSHOTTING
save <seconds> <changes>
- 持久化配置,在多少秒内,有几次操作之后马上执行一次持久化
stop-writes-on-bgsave-error yes
- 备份出错之后停止向Redis写入
rdbcompression yes
- rbd备份文件压缩
rdbchecksum yes
- rdb文件校验
dbfilename dump.rdb
- rbd文件名
dir ./
- rdb文件保存位置
5.5 REPLICATION
replicaof <masterip> <masterport>
- 配置主机
masterauth <master-password>
、masteruser <username>
- 主机认证
replica-read-only yes
- 从机是否只读
replica-priority 100
- 哨兵模式下,从机的优先级
- 在主机挂掉的时候,优先级最低的会被晋升为主机,优先级为0的永远不会被晋升
5.6 SECURITY
requirepass foobared
- 密码。我们需要配置很复杂的密码来保证足够的安全性
user alice on +@all -DEBUG ~* >somepassword
- 配置用户及其权限
5.7 CLIENTS
maxclients 10000
- 最大客户端连接数
5.8 MEMORY MANAGEMENT
maxmemory <bytes>
- 运行Redis使用的最大内存大小
maxmemory-policy noeviction
- 在内存满了之后执行的策略
选项 | 策略 |
volatile-lru | 对设置了过期时间的KEY使用LRU删除 |
allkeys-lru | 对所有KEY使用LRU删除 |
volatile-lfu | 对设置了过期时间的KEY使用LFU删除 |
allkeys-lfu | 对所有KEY使用LFU删除 |
volatile-random | 随机删除对设置了过期时间的KEY |
allkeys-random | 随机删除所有KEY |
volatile-ttl | 删除最快过期的KEY |
noeviction | 不删除任何KEY,同时拒绝写入请求 |
maxmemory-samples 5
- 使用算法删除时选取的样本大小
- Redis为了节约内存,使用的是近似LRU、LFU和最少TTL算法而不是精确的算法。所以我们可以通过设置样本大小来调节算法的精确度。样本越大越精确,但消耗资源也就越多
5.9 APPEND ONLY MODE
AOF设置
appendonly no
- 是否开启AOF
appendfilename "appendonly.aof"
- AOF文件名
appendfsync everysec
- AOF持久化频率
auto-aof-rewrite-percentage 100
、auto-aof-rewrite-min-size 64mb
- AOF重写配置
- Redis会比较当前AOF文件和上一次AOF文件的大小,当大小的百分比达到设定值之后,将出发重写