redis配置文件详解

1、INCLUDES配置

# include /path/to/other.conf      # 引入公共的配置信息

2、NETWORK配置(网络)

# bind 127.0.0.1

ip地址的绑定(bind) ,默认情况bind=127.0.0.1只能接受本机的访问请求。不写的情况下,无限制接受任何ip地址的访问。生产环境肯定要写你应用服务器的地址

protected-mode no

    如果开启了protected-mode,那么在没有设定bind ip且没有设密码的情况下,Redis只允许接受本机的相应

tcp-backlog 511

可以理解是一个请求到达后至到接受进程处理前的队列

backlog队列总和=未完成三次握手队列+ 已经完成三次握手队列

高并发环境tcp-backlog设置值跟超时时限内的Redis吞吐量决定

timeout 0     # 一个空闲的客户端维持多少秒会关闭,0为永不关闭

tcp-keepalive 300     #对访问客户端的一种心跳检测,每个n秒检测一次(官方推荐设为60秒)

3、GENERAL配置(常规)

daemonize yes    # 是否以后台进程启动

pidfile /var/run/redis_6379.pid    # 存放pid文件的位置,每个实例会产生一个不同的pid文件

loglevel notice    # 四个级别根据使用阶段来选择,生产环境选择notice 或者warning

logfile ""    # 日志文件名称

# syslog-enabled no     # 是否将Redis日志输送到linux系统日志服务中

# syslog-ident redis     #日志的标志

# syslog-facility local0    # 输出日志的设备

databases 16    # 设定库的数量默认16

4、SNAPSHOTTING配置(rdb快照)

save 900 1    # 900秒(15分钟)之后至少1个关键字发生变化

save 300 10    # 300秒(5分钟)之后至少10个关键字发生变化

save 60 10000    # 60秒(1分钟)之后至少10000个关键字发生变化

stop-writes-on-bgsave-error yes    # 当Redis无法写入磁盘的话,直接关掉Redis的写操作

rdbcompression yes     #使用LZF压缩rdb文件

rdbchecksum yes     #存储和加载rdb文件时校验

dbfilename dump.rdb     #设置rdb文件名

dir ./     #设置工作目录,rdb文件会写入该目录

5、REPLICATION配置(主从复制)

# slaveof     # 设为某台机器的从服务器

# masterauth     # 连接主服务器的密码

slave-serve-stale-data yes    # 当主从断开或正在复制中,从服务器是否应答

slave-read-only yes    # 设置从服务器只读

repl-diskless-sync-delay 5     

# repl-ping-slave-period 10     #从ping主的时间间隔,秒为单位

# repl-timeout 60     #主从超时时间(超时认为断线了),要比period大

repl-disable-tcp-nodelay no     #主端是否合并数据,大块发送给slave

slave-priority 100     #如果master不能再正常工作,那么会在多个slave中,选择优先值最小的一个slave提升为master,优先值为0表示不能提升为master

6、SECURITY配置(安全)

# requirepass foobared    # 设置密码

7、LIMITS配置(限制)

# maxclients 10000    # 最大客户端连接数

# maxmemory     # 最大使用内存 

# maxmemory-policy noeviction     #内存到极限后的处理 

volatile-lru -> LRU算法删除过期key, 只对设置了过期时间的键

allkeys-lru -> LRU算法删除key(不区分过不过期)

volatile-random -> 在过期集合中移除随机的key,只对设置了过期时间的键

allkeys-random -> 随机删除key(不区分过不过期)

volatile-ttl -> 移除那些TTL值最小的key ,删除快过期的key

noeviction -> 不进行移除。针对写操作,只是返回错误信息

# maxmemory-samples 5      #设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小; 一般设置3到7的数字,数值越小样本越不准确,但是性能消耗也越小

8、APPEND ONLY MODE配置(aof)

appendonly no    #是否生成aof日志

appendfilename "appendonly.aof"    # AOF文件的保存路径,同RDB的路径一致

# appendfsync always     #始终同步,每次Redis的写入都会立刻记入日志

appendfsync everysec     #每秒同步,每秒记入日志一次,如果宕机,本秒的数据可能丢失 

# appendfsync no      #不主动进行同步,把同步时机交给操作系统 

no-appendfsync-on-rewrite no    #在aof rewrite期间,是否对aof新记录的append暂缓使用文件同步策略,主要考虑磁#盘IO开支和请求阻塞时间。默认为no表示”不暂缓”,新的aof记录仍然会被立即同步。设为yes,则其他线程的数据放内存里,合并写入(速度快,容易丢失的多)

auto-aof-rewrite-percentage 100     #当Aof log增长超过指定比例时,重写aof文件。100表示一倍(0表示不自动重写)

auto-aof-rewrite-min-size 64mb     #当前大小>=64mb(默认) ,重写aof文件

9、SLOW LOG配置(慢查询)

slowlog-log-slower-than 10000     #记录响应时间大于10000微秒的慢查询

slowlog-max-len128       #最多记录128条

你可能感兴趣的:(redis配置文件详解)