Redis.conf 配置文件详解

.配置文件unit单位 对大小写不敏感!
!Redis.conf 配置文件详解
可以包含多个配置配置文件 可以通过include 引入
Redis.conf 配置文件详解
可以包含多个配置配置文件 可以通过include 引入
##################### NETWORK #######
IP设置: bind 127.0.0.1 (默认为本机) 需要连接远程服务器可以修改
Redis.conf 配置文件详解
开起保护模式:protected-mode yes(默认是开起的,不用改)
Redis.conf 配置文件详解
端口号:port 6379 默认端口号是6379如果搭建集群就需要设置端口号
Redis.conf 配置文件详解
设置TCP日志 (不用改动)
Redis.conf 配置文件详解
设置空闲超过timeout,服务端会断开连接,为0则不会主动断开连接,不能小于0。(不用改动)
Redis.conf 配置文件详解
相当于心跳检测机制的时间设置
Redis.conf 配置文件详解
##################### GENERAL ##############
以守护进程的方式运行(后台运行),默认为no,需要自己改为yes.
Redis.conf 配置文件详解
对守护进程进行设置(不用改动)
Redis.conf 配置文件详解
如果以后台方式运行,就需要指定一个pid文件
Redis.conf 配置文件详解
设置日志基本,debug , verbose用于开发环境,notice用于生成环境,warning关键信息才会打印
Redis.conf 配置文件详解
设置日志文件名,为空就是输出到控制台(自己设置文件路径)
Redis.conf 配置文件详解
数据库的数量,默认为16个
Redis.conf 配置文件详解
是否总是显示LOGO,默认开起
Redis.conf 配置文件详解
################### SNAPSHOTTING #################
可以业务需要自定义持久化时间和操作次数
持久化设置,redis是内存数据库,如果没有持久话,那么数据断电及失
时间 操作次数
Save 900 1 在900内有1个key进行了修改就会进行持久化操作
Save 300 10 在300内有10个key进行了修改就会进行持久化操作
Save 60 10000 在60内有10000个key进行修改,就会进行持久化操作
Redis.conf 配置文件详解
持久话出错,是否继续工作,默认yes
Redis.conf 配置文件详解
是否压缩rdb文件,需要消耗一些CPU资源
Redis.conf 配置文件详解
保存rdb文件时,进行错误校验
Redis.conf 配置文件详解
RDB持久化文件名
Redis.conf 配置文件详解
保存的目录,默认实在当前路径下
Redis.conf 配置文件详解
#################### REPLICATION ###################
#复制选项,slave复制对应的master。

Redis.conf 配置文件详解
#如果master设置了requirepass,那么slave要连上master,需要有master的密码才行。masterauth就是用来配置master的密码,这样可以在连上master后进行认证。
Redis.conf 配置文件详解
Redis.conf 配置文件详解
#当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:1) 如果slave-serve-stale-data设置为yes(默认设置),从库会继续响应客户端的请求。2) 如果slave-serve-stale-data设置为no,除去INFO和SLAVOF命令之外的任何请求都会返回一个错误”SYNC with master in progress”。
Redis.conf 配置文件详解
#作为从服务器,默认情况下是只读的(yes),可以修改成NO,用于写(不建议)。
Redis.conf 配置文件详解
#是否使用socket方式复制数据。目前redis复制提供两种方式,disk和socket。如果新的slave连上来或者重连的slave无法部分同步,就会执行全量同步,master会生成rdb文件。有2种方式:disk方式是master创建一个新的进程把rdb文件保存到磁盘,再把磁盘上的rdb文件传递给slave。socket是master创建一个新的进程,直接把rdb文件以socket的方式发给slave。disk方式的时候,当一个rdb保存的过程中,多个slave都能共享这个rdb文件。socket的方式就的一个个slave顺序复制。在磁盘速度缓慢,网速快的情况下推荐用socket方式。
Redis.conf 配置文件详解
#diskless复制的延迟时间,防止设置为0。一旦复制开始,节点不会再接收新slave的复制请求直到下一个rdb传输。所以最好等待一段时间,等更多的slave连上来。
Redis.conf 配置文件详解
#slave根据指定的时间间隔向服务器发送ping请求。时间间隔可以通过 repl_ping_slave_period 来设置,默认10秒。
Redis.conf 配置文件详解
#复制连接超时时间。master和slave都有超时时间的设置。master检测到slave上次发送的时间超过repl-timeout,即认为slave离线,清除该slave信息。slave检测到上次和master交互的时间超过repl-timeout,则认为master离线。需要注意的是repl-timeout需要设置一个比repl-ping-slave-period更大的值,不然会经常检测到超时。
Redis.conf 配置文件详解
#是否禁止复制tcp链接的tcp nodelay参数,可传递yes或者no。默认是no,即使用tcp nodelay。如果master设置了yes来禁止tcp nodelay设置,在把数据复制给slave的时候,会减少包的数量和更小的网络带宽。但是这也可能带来数据的延迟。默认我们推荐更小的延迟,但是在数据量传输很大的场景下,建议选择yes。
Redis.conf 配置文件详解
#复制缓冲区大小,这是一个环形复制缓冲区,用来保存最新复制的命令。这样在slave离线的时候,不需要完全复制master的数据,如果可以执行部分同步,只需要把缓冲区的部分数据复制给slave,就能恢复正常复制状态。缓冲区的大小越大,slave离线的时间可以更长,复制缓冲区只有在有slave连接的时候才分配内存。没有slave的一段时间,内存会被释放出来,默认1m。
Redis.conf 配置文件详解
#master没有slave一段时间会释放复制缓冲区的内存,repl-backlog-ttl用来设置该时间长度。单位为秒。
Redis.conf 配置文件详解
#当master不可用,Sentinel会根据slave的优先级选举一个master。最低的优先级的slave,当选master。而配置成0,永远不会被选举。
Redis.conf 配置文件详解
#redis提供了可以让master停止写入的方式,如果配置了min-slaves-to-write,健康的slave的个数小于N,mater就禁止写入。master最少得有多少个健康的slave存活才能执行写命令。这个配置虽然不能保证N个slave都一定能接收到master的写操作,但是能避免没有足够健康的slave的时候,master不能写入来避免数据丢失。设置为0是关闭该功能。

#延迟小于min-slaves-max-lag秒的slave才认为是健康的slave。

Redis.conf 配置文件详解
##################### SECURITY #####################
密码设置,默认为空,我们可以在配置文件内直接设置,也可以在控制台通过命令:config set requirepass xxxxx 进行设置 使用 auth xxxxx 进行登录
Redis.conf 配置文件详解
Redis.conf 配置文件详解

####################### CLIENTS ####################
设置能连接上redis的最大客户端的数量
Redis.conf 配置文件详解
################### MEMORY MANAGEMENT #############
设置redis最大内存容量
Redis.conf 配置文件详解
内存达到上限之后的处理策略
maxmemory-policy 六种方式
1、volatile-lru:只对设置了过期时间的key进行LRU
2、allkeys-lru : 删除lru算法的key
3、volatile-random:随机删除即将过期key
4、allkeys-random:随机删除
5、volatile-ttl : 删除即将过期的
6、noeviction : 永不过期,返回错误
Redis.conf 配置文件详解
################## APPEND ONLY MODE ################

默认是不开启aof模式,默认使用rdb方式持久话,在大部分使用场景下rdb完全够用!
Redis.conf 配置文件详解
AOF持久化文件名
Redis.conf 配置文件详解
AOF持久化策略
appendfsync always 每次修改都 sync,消耗性能
appendfsync everysec 每秒钟执行一次 sync,可能会丢失这一秒内的数据
Appendfsync no 不执行sync,这个时候操作系统自己同步数据,速度最快!一般不用
Redis.conf 配置文件详解