Redis配置文件详解
启动的时候,就通过配置文件来启动!
1.单位
配置文件unit单位对大小写不敏感!
2.包含
就好比学习Spring,Improt,include
3.网络
bind 127.0.0.1 #绑定的ip 指定 redis 只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求
protected-mode yes #保护模式
port 6379 #端口设置
tcp-backlog 511 #此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义
的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端
速度缓慢的时候,可以将这二个参数一起参考设定。该内核参数默认值一般是128,对于负载很大的服务程序来说
大大的不够。一般会将它修改为2048或者更大。在/etc/sysctl.conf中添加:net.core.somaxconn = 2048,
然后在终端中执行sysctl -p
timeout 0 #此参数为设置客户端空闲超过timeout,服务端会断开连接,为0则服务端不会主动断开连接,不能小于0
tcp-keepalive 300 #tcp keepalive参数。如果设置不为0,就使用配置tcp的SO_KEEPALIVE值,使用keepalive有两个好处:检测挂掉的对端。降低中间设备出问题而导致网络看似连接却已经与对端端口的问题。在Linux内核中,设置了
keepalive,redis会定时给对端发送ack。检测到对端关闭需要两倍的设置值
4.通用GENERAL
daemonize yes #以守护进程的方式运行,默认是no,需要自己开启为yes!
pidfile /var/run/redis_6379.pid #如果以后台方式运行,需要指定一个pid文件!
#日志
#Specify the server verbosity level.
#This can be one of:
#debug (a lot of information, useful for development/testing)
#verbose (many rarely useful info, but not a mess like the debug level)
#notice (moderately verbose, what you want in production probably) 生产环境
#warning (only very important / critical messages are logged)
loglevel notice
logfile “” #日志的文件位置名
databases 16 #数据库的数量,默认是16个数据库
always-show-logo yes #是否总是显示LOGO
5.快照SNAPSHOTTING
持久化,在规定的时间内,执行了多少次操作,则会持久化到文件 .rdb .aof
Redis是内存数据库,如果没有持久化,那么数据断电即失!
#900s内,如果至少有1个key进行了修改,就进行持久化操作
save 900 1
#300s内,如果至少有10个key进行了修改,就进行持久化操作
save 300 10
#60s内,如果至少有10000个key进行了修改,就进行持久化操作
save 60 10000
stop-writes-on-bgsave-error yes #持久化如果出错,是否还需要继续工作!
rdbcompression yes #是否压缩rdb文件,需要消耗一些CPU资源!
rdbchecksum yes #保存rdb文件时,进行错误的检查校验!
dbfilename dump.rdb #rdb文件的名称
dir ./ #rdb文件保存的目录
6.复制REPLICATION
replica-serve-stale-data yes #当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:1) 如果slave-serve-stale-data设置为yes(默认设置),从库会继续响应客户端的请求。2) 如果slave-serve-stale-data设置为no,
INFO,replicaOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG,SUBSCRIBE, UNSUBSCRIBE,
PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB,COMMAND, POST, HOST: and LAT