redis5.0配置(二)

0 说明

这次学习的是redis配置文件的一部分,解读redis配置文件中的常用配置。

安装redis的教程地址:https://blog.csdn.net/hrjyc/article/details/88868535

1 Redis配置文件

Redis配置文件位于redis安装目录下面的redis.conf。这个文件当中对应着很多可以进行配置的项,如果不指定这个配置文件启动,那么redis就是以默认的配置启动,我们可以指定使用配置文件启动redis。

 

进入redis安装目录,执行./src/redis-server ./redis.conf命令。

 

 

2 Redis常用配置

配置文件当中大部分是注释,我们可以用vim打开,查看其中的内容,对应的注释就是对应这个配置项的解释。下面选取几种常用的配置项进行说明:

1. bind 127.0.0.1

绑定的redis服务的主机地址。

扫描二维码关注公众号,回复: 5973527 查看本文章

2. port 6379

redis服务的监听的端口号,默认是6379,如果设置成0则代表不监听任何socket端口。

3. protected-mode

Redis服务的保护模式,保护模式下,只能允许127.0.0.1 and ::1这种本地访问,配置默认为开启状态protected-mode yes。这里要注意保护模式的生效条件。该模式在bind被注释掉和没有配置访问密码的时候才生效。一般可让其为开启状态,同时配置访问密码,来实现Redis的服务安全性。

4. timeout 0

当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

5. daemonize no

redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程。这样就可以以后台守护进程的方式运行redis服务。

6. pidfile /var/run/redis_6379.pid

Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定

7. loglevel notice

指定日志的级别,notice意思是可以适用于生产环境。其余的级别还有debug (适用于开发或测试阶段,信息很多)、verbose (包含很多不太有用的信息,但比debug要清爽一些)、notice (适用于生产环境)、warning (仅仅一些重要的消息被记录)。

8. logfile ""

日志文件存放的位置。

9. databases 16

设置数据库的数量,默认数据库为第0个,可以使用SELECT <dbid>命令在连接上指定数据库id。

10. save <seconds> <changes>

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

Redis中默认的如下:

save 900 1

save 300 10

save 60 10000

900 秒内如果至少有 1 个 key 的值变化,则保存。

300 秒内如果至少有 10 个 key 的值变化,则保存。

60 秒内如果至少有 10000 个 key 的值变化,则保存。

11. rdbcompression yes

指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大。

12. dbfilename dump.rdb

指定本地数据库文件名,默认值为dump.rdb。

13. dir ./

指定本地数据库存放目录。

14. appendonly no

指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no。

15. appendfilename "appendonly.aof"

指定更新日志文件名,默认为appendonly.aof

 

3  Redis主从结构配置

主从模式,可以是树状的,从服务属于多台主服务,且从服务也可以有从服务。主从模式,可实现读写分离;高可用模式下,主服务出现问题,也可以通过哨兵切换从服务为主服务;可实现主服务不用数据持久化,从服务进行持久化工作,减轻主服务负担等等。

1. replicaof <masterip> <masterport>
配置主服务的ip和端口。

2. masterauth <master-password>
如果主服务需要密码认证,这里需要配置从服务连接主服务的密码。

3. replica-serve-stale-data yes

当一个slave失去和master的连接,或者同步正在进行中,slave的行为有两种可能:1) 如果 replica-serve-stale-data 设置为 "yes" (默认值),slave会继续响应客户端请求,可能是正常数据,也可能是还没获得值的空数据。2) 如果 replica-serve-stale-data 设置为 "no",slave会回复"正在从master同步"来处理各种请求,除了 INFO 和 SLAVEOF 命令。

4. replica-read-only yes

默认为yes,配置从服务默认为只读模式。

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/hrjyc/article/details/88891932