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
  • 日志等级,debugverbosenoticewarning
  • 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 100auto-aof-rewrite-min-size 64mb
  • AOF重写配置
  • Redis会比较当前AOF文件和上一次AOF文件的大小,当大小的百分比达到设定值之后,将出发重写