Redis3.0.5配置文件详解

Redis3.0.5配置文件详解

# Redis 配置文件:版本3.0.5

# 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写)

#

# 1k => 1000 bytes

# 1kb => 1024 bytes

# 1m => 1000000 bytes

# 1mb => 1024*1024 bytes

# 1g => 1000000000 bytes

# 1gb => 1024*1024*1024 bytes

#

# 内存配置大小写是一样的.比如 1gb 1Gb 1GB 1gB

################## INCLUDES #####################

# 引入多个配置文件。如,在已有标准模板的同时,还需要自定义配置文件。

# 注意:include进来的配置文件不会被admin或Sentinel的CONFIG REWRITE命令重写。

# include最好放在配置文件的前端。

# include /path/to/local.conf

################## GENERAL #####################

# 默认情况下,Redis不会作为守护进程运行。如果需要,把该项的值更改为yes

# 由于redis以最终的配置作为实际配置,因此我们希望你将include命令放置在配置文件的最前面以防配置被覆盖。如果你打算使用另外的 conf文件来覆盖当前文件的配置,那么最好将include指令放置到该文件的末尾。即最后生效原则,最后被解析的配置将作为最后的配置。

daemonize yes

# 当Redis作为守护进程运行时,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。

pidfile /var/run/redis.pid

# 当运行多个redis服务时,需要指定不同的pid文件和端口

# 指定redis运行的端口,默认是6379。当为0时,Redis将不会通过TCP socket监听。

# 注:只是不使用TCP socket监听。依旧可以连接,只是无法通过网络连接。

port 6379

# TCP 监听积压区backlog

# 在一个并发量高的环境中,你需要指定一个比较大的backlog值来避免慢连接(由于网络原因握手速度慢)的情况。

# 注意,linux内核会默认 使用/proc/sys/net/core/somaxconn 的值来削减 backlog的实际值,因此你需要确保提升 somaxconn 和 tcp_max_syn_backlog 这两个值来确保此处的backlog生效。

# 注:这里的backlog是指目前最大连接队列的积压区。因为TCP连接是三次握手,没有

# 完成三次握手和尚未被accept的connect都会处于连接队列中。但是backlog的实际值

# 与操作系统相关,并非设置多少就是多少,只能说调整得大一些可以在同一时间应对更

# 多的连接请求。

# 注:只有当每一个请求都重新发起一个连接的时候,backlog值的增大才能影响到并发量。在tcp稳定连接的时候,或连接复用(连接池的使用),backlog值对并发没有任何影响。因此该值一般采用默认值。

tcp-backlog 511

# 默认情况下redis会在所有的可用网络接口中进行监听,如果你想让redis在指定的网络接口中监听,那么可以使用bind 命令来指定redis的监听接口。

# 在生产环境中最好设置该项

# bind 127.0.0.1

# 指定unix sock的路径来进行连接监听,默认是不指定,因此redis不会在unix socket上进行监听。

# unixsocket /tmp/redis.sock

# unixsocketperm 755

# 设置客户端连接时的超时时间(关闭掉空闲N秒的连接),单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接。

# 0是关闭此设置,不处理空闲连接。

timeout 0

# TCP keepalive

#如果该值不为0,将使用 SO_KEEPALIVE 这一默认的做法来向客户端连接发送TCP ACKs 

#这样的好处有以下两个原因:

# 1)检测已经死亡的对端(注:TCP的关闭会存在无法完成4次握手的情况,如断电,断网,数据丢失等等)

# 2)保持连接在网络环境中的存活

# 注:最好设置为60

tcp-keepalive 60

# 指定日志记录级别

# Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose

# debug  记录很多信息,用于开发和测试

# varbose 有用的信息,不像debug会记录那么多

# notice 普通的verbose,常用于生产环境

# warning 只有非常重要或者严重的信息会记录到日志

loglevel debug

# 配置log文件地址

# 默认值为stdout,标准输出,若守护进程模式会输出到/dev/null

# logfile stdout

logfile /var/log/redis/redis.log

# 当设置 'syslog-enabled'为 yes时, 允许记录日志到系统日志中。

# 以及你可以使用更多的syslog参数来满足你的要求。

# syslog-enabled no

# 指定在系统日志中的身份

# syslog-ident redis

# 执行系统日志的设备名。  Must be USER or between LOCAL0-LOCAL7.

# syslog-facility local0

# 设置数据库编号

# 默认值为16,默认数据库为0,数据库范围在0-(database-1)之间

databases 16

#################### SNAPSHOTTING #####################

# 保存数据到磁盘,格式如下:

# save <seconds> <changes>

# 指出在多长时间内,有多少次更新操作,就将数据同步到数据文件rdb。

# 相当于条件触发抓取快照,这个可以多个条件配合

# 比如默认配置文件中的设置,就设置了三个条件:

#  save 900 1  900秒内至少有1个key被改变

#  save 300 10  300秒内至少有300个key被改变

#  save 60 10000  60秒内至少有10000个key被改变

# 注:生产环境中需要关掉所有此项以减少磁盘IO压力。而使用主动的BGSAVE操作进行持久化操作。

save 900 1

save 300 10

save 60 10000

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6ceedf862002e657b95ae77e718266db.html