redis 配置文件redis.conf介绍

redis默认不是以守护进程的方式运行,我们可以更改配置文件 daemonize为yes启动守护进行,默认为no 


启动守护进程后,redis默认会将pid写入/var/run/redis.pid文件,我这里是/var/run/redis_6379.pid自动生成的。


redis绑定的主机地址(一般默认是自己本地的ip地址)localhost


protected-mode yes 默认开启保护模式,是否允许其他主机访问或者连接等。改为no即其他客户端可以连接本机redis服务端,或者可以配置上面的ip地址为其他客户端的地址来访问也可,或者设置redis密码


port 6379  这个就不用解释了,默认端口


tcp-backlog 511默认值 511

 此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。建议修改为 2048,修改somaxconn,该内核参数默认值一般是128,对于负载很大的服务程序来说大大的不够。一般会将它修改为2048或者更大。echo 2048 > /proc/sys/net/core/somaxconn 但是这样系统重启后保存不了在/etc/sysctl.conf中添加如下net.core.somaxconn = 2048然后在终端中执行sysctl -p


timeout 0  在客户端空闲时间为N秒后关闭连接(0禁用,即永不关闭)


tcp-keepalive 300

指定TCP连接是否为长连接,”侦探”信号由server端维护,长连接将会额外的增加server端的开支

默认为0.表示禁用,非0值表示开启”长连接” ;”侦探”信号的发送间隔将有Linux系统决定

在多次”侦探”后,如果对等端仍不回复,将会关闭连接,否则连接将会被保持开启.

client端socket也可以通过配置keepalive选项,开启”长连接”.

单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300S



supervised no 可以通过upstart和systemd管理Redis守护进程,这个参数是和具体的操作系统相关的。

#如果从upstart或systemd运行Redis,Redis可以与您交互
选项:
#supervised no - 没有监督互动
#supervised upstart - 通过将Redis置于SIGSTOP模式来启动信号
#supervised systemd - signal systemd将READY = 1写入$ NOTIFY_SOCKET
#supervised auto - 检测upstart或systemd方法基于
#UPSTART_JOB或NOTIFY_SOCKET环境变量
#注意:这些监督方法只发出“进程就绪”的信号。


loglevel notice 日志等级,和log4j里面的debug info warn error等类似

指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,我这里默认为verbose


logfile 

日志记录文件,默认是标准输出stdout,如果redis以守护进程方式运行,logfile 配置为stdout时,logs将要输出到/dev/null

databases 16 

redis默认16个库,想要进哪个库 select 0,从0开始到15


save 900 1
save 300 10
save 60 10000

指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合

    save <seconds> <changes>

    Redis默认配置文件中提供了三个条件:

    save 900 1

    save 300 10

    save 60 10000

    分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。



stop-writes-on-bgsave-error yes  

如果启用如上的快照(RDB),在一个存盘点之后,可能磁盘会坏掉或者权限问题,redis将依然能正常工作


rdbcompression yes

是否将字符串用LZF压缩到.rdb 数据库中,如果想节省CPU资源可以将其设置成no,但是字符串存储在磁盘上占用空间会很大,默认是yes


rdbchecksum yes

rdb文件的校验,如果校验将避免文件格式坏掉,如果不校验将在每次操作文件时要付出校验过程的资源新能,将此参数设置为no,将跳过校验


dbfilename dump.rdb

转储数据的文件名




dir ./

redis的工作目录,它会将转储文件存储到这个目录下,并生成一个附加文件


slave-serve-stale-data yes

当从主机脱离主的链接时,如果此值为yes当客户端查询从时,回响应客户端,如果是第一次同步回返回一个日期数据或这空值,如果设置为no,则返回“SYNC with master in progress”到INFO and SLAVEOF


slave-read-only yes  默认从服务器只读



repl-diskless-sync no

新的从站和重连后不能继续备份的从站,需要做所谓的“完全备份”,即将一个RDB文件从主站传送到从站。这个传送有以下两种方式: 
1)硬盘备份:redis主站创建一个新的进程,用于把RDB文件写到硬盘上。过一会儿,其父进程递增地将文件传送给从站。 
2)无硬盘备份:redis主站创建一个新的进程,子进程直接把RDB文件写到从站的套接字,不需要用到硬盘。 
在硬盘备份的情况下,主站的子进程生成RDB文件。一旦生成,多个从站可以立即排成队列使用主站的RDB文件。在无硬盘备份的情况下,一次RDB传送开始,新的从站到达后,需要等待现在的传送结束,才能开启新的传送。 
如果使用无硬盘备份,主站会在开始传送之间等待一段时间(可配置,以秒为单位),希望等待多个子站到达后并行传送。 
在硬盘低速而网络高速(高带宽)情况下,无硬盘备份更好


repl-diskless-sync-delay5

当启用无硬盘备份,服务器等待一段时间后才会通过套接字向从站传送RDB文件,这个等待时间是可配置的。 
这一点很重要,因为一旦传送开始,就不可能再为一个新到达的从站服务。从站则要排队等待下一次RDB传送。因此服务器等待一段时间以期更多的从站到达。 
延迟时间以秒为单位,默认为5秒。要关掉这一功能,只需将它设置为0秒,传送会立即启动。


repl-ping-slave-period 10

从站以一个预先设置好的时间间隔向服务器发送PING。这个时间间隔可以通过repl_ping_slave_period选项改变。默认值是10秒。

slave-priority100

从站优先级是可以从redis的INFO命令输出中查到的一个整数。当主站不能正常工作时,redis sentinel使用它来选择一个从站并将它提升为主站。 
低优先级的从站被认为更适合于提升,因此如果有三个从站优先级分别是10, 100, 25,sentinel会选择优先级为10的从站,因为它的优先级最低。 
然而优先级值为0的从站不能执行主站的角色,因此优先级为0的从站永远不会被redis sentinel提升。 
默认优先级是100


appendonly no 是否开启AOF持久化模式

默认情况下,redis会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁,如果发生诸如拉闸限电、拔插头等状况,那么将造成比较大范围的数据丢失。
所以redis提供了另外一种更加高效的数据库备份及灾难恢复方式。
开启appendonly模式之后,redis会把所接收到的每一次写操作请求都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态。
但是这样会造成appendonly.aof文件过大,所以redis还支持了BGREWRITEAOF指令,对appendonly.aof 进行重新整理。
你可以同时开启asynchronous dumps 和 AOF


AOF文件名称 (默认: "appendonly.aof")
# appendfilename appendonly.aof





Units单位:

# 1k => 1000 bytes

# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes

# 1gb => 1024*1024*1024 bytes


单位对大小写不敏感


INCLUDES

包含

比如redis.conf是总闸

可以包含其他配置文件




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值