redis查看服务器配置信息,redis.conf部分配置项解析

在redis的根目录下我们看到有个redis.conf的文件,这就是redis启动的默认配置文件。之前使用src/redis-server启动后,使用info命令查看运行信息,发现config_file为空,实际上是默认使用该配置文件的。

接下来,我们来看看手动制定启动的配置文件:src/redis-server redis.conf

然后另开终端,使用info命令查看:ray@RaydeMacBook-Pro:~/Applications/redis$ src/redis-cli

127.0.0.1:6379> info

# Server

redis_version:5.0.3

redis_mode:standalone

os:Darwin 17.5.0 x86_64

gcc_version:4.2.1

process_id:19081

run_id:d2c768ba1e7c3882da5493699d677e689df1a02c

tcp_port:6379

executable:/Users/ray/Applications/redis/src/redis-server

config_file:/Users/ray/Applications/redis/redis.conf

最后我们已经可以看到config_file的值就是我们指定文件的路径了。

配置项解析:

打开redis.conf文件,在开头处,第一件事便是直接指明,如果要想当前的配置生效,redis必须以制定配置文件的方式启动:./redis-server /path/to/redis.conf

下面对redis.conf模板中的配置项信息进行解释,前面的#表示注释,要使配置生效需要删除#:include: 配置文件包含

include命令可以将指定的配置文件加载到当前配置中,后面的配置文件会覆盖前面的配置。include /path/to/local.conf

include /path/to/other.conf

因此如果在多个文件中指定了相同的配置项,最后的位置行会生效,因此需要注意include的位置。

另外,include可以包含多个文件,这对有些情况下我们可以使用一个标准配置给多个server,而部分配置项确需要单独配置的情况,如集群配置时等情况使用。network: 网络设置

指定绑定那个ip地址,也可以指定多个,以空格分割即可。bind 127.0.0.1

redis默认是监听127.0.0.1的地址,如果你想将本地所有的ip地址都监听,可以将此注释掉,但一般不推荐这样做,因为这样可能带来一些其他安全等问题。protected-mode yes

保护模式,默认是打开的。当满足下列两个条件时,保护模式便会开启:1)没有使用bind显示指定一个地址集合;2)没有设置密码。

当该选项打开时,你只能在在IP地址为127.0.0.1或::1即两个服务器本地时才能连接,因此要想被其他ip的客户端进行连接,必须将保护模式关闭,即设置为no.port 6379

监听端口,默认为6379,可自定修改。timeout 0

当一个客户端在N秒内没有操作时,关闭其连接。默认为0,表示不启用该选项。general: 常规配置

这一部分时redis的常规配置选项。daemonize no

redis默认不会以后台进程模式启动,如果需要以后台服务形式启动,将其改为yes. 在初学者中默认选项开启时可以在终端页面直接看到redis启动信息,但实际应用中都会以后台进程模式启动。

如果是,会将pid文件写入到/var/run/redis.pid.pidfile /var/run/redis_6379.pid

当redis以非后台进程模式启动时,如果没有配置指定pid文件,则不会创建;如果以后台进程模式启动,如果指定了pidfile则创建对应的pidfile,否则创建默认的/var/run/redis.pid.loglevel notice

日志级别,包括debug, verbose, notice, warning.logfile ""

指定日志文件,如果为空字符串时redis会把log输出到标准输出,如果使用daemonize即后台进程模式启动,会把输出定向到/dev/null.database 16

指定redis中database的数量,默认为16,dbid的需要从0-database-1,即默认的0-15.使用客户端连接后便能清晰的看到。snapshotting: 快照设置

快照是指redis将数据持久化到磁盘的设置。save 900 1

save 300 10

save 60 10000

将DB保存到磁盘,格式为:save

意思时当多少秒内有多少key的写操作时便会出发快照保存操作,将db信息持久化到磁盘。

如上例,满足以下三个条件中的任意一个就会触发持久化操作:* 900秒(15分钟)内有1个key的变化

* 300秒(5分钟)内有10个key的变化

* 60秒内有10000个key的变化

如果你不想将数据保存到磁盘,可以将所有的save行注释,或者直接使用save "", 这样当redis关闭或者重启时,当前数据就会丢失。stop-writes-on-bgsave-error yes

当后台保存快照出现错误时,持久化到硬盘的操作就会停止。默认为yes,因为正常来说如果出现硬件或磁盘错误,redis的磁盘持久化操作出现错误,应该第一时间出现报错而提醒运维人员去解决,如果这个时候还继续持久化操作,势必会导致一些信息的丢失。rdbcompression yes

设置保存的rdb快照文件是否进行压缩,使用压缩能够节省rbd文件的存储空间,但会耗费CPU资源,如果你想节省CPU资源而使用更大存储空间的话,也可以将其设置为no.rdbchecksum yes

rbd文件的末尾都加上了CRC64的校验和,在加载rdb文件时会对其格式进行校验,但会损失大约10%的性能。dbfilename dump.rdb

dump文件名。dir ./

工作目录,dbfilename指定的文件名就会在该目录下创建,要注意这里一定是注定目录,而不是文件名。REPLICATION复制(主从同步)

在redis的之前版本中,主从同步的从服务器都是用slave(奴隶)这个单词来表示的,但前不久美国人民认为这个词带有种族歧视偏见,所以在线版本中都改成replica表示了。replicaof

redis的主从同步具有一下特点:当redis使用主从模式时,主服务器用于接受写请求,而从服务器一般只接受写请求;主服务器的写请求通过自动复制机制同步到从服务器,从而实现数据一致性;

Redis的主从复制是异步的,当然你也可以设置一个最小连接数,当从服务器的连接数少于该值,主服务器将停止接受写请求。

Redis的从服务器在同步主服务器数据如果出现极小时间段的断开时,会自动进行重同步操作,有一个blocksize的值可以来控制;

Redis的主从同步是自动的、不需要人工敢于的。由于网络原因的引起的中断,会自动进行重连操作

除了在配置文件中设置主从外,还可以直接在命令行终端中设置,如,在redis-cli中使用slaveof masterip masterport命令可以讲当前服务器设置为从服务器。如要断开连接使用slave no one即可。

如果主服务器设置了密码(requirepass),需要在从服务器中指定。masterauth

从服务器是否设置只读模式。默认是只读的,只有在特殊情况下,需要对从服务器进行写操作。replica-read-only yesSECURITY安全

对登录设置密码:requirepass 123

设置密码后,在redis-cli登录时,需要使用auth pass命令才能连接。

redis.conf的配置想还很多,这里不再一一介绍,随着对redis学习使用的深入,自然会了解并用到更多的配置,届时可以再去了解查找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值