redis配置_Redis配置文件还看不懂吗?laughing哥带你撸redis配置文件(一)

横屏观看,效果更佳!更多文章请关注公众号!

更多精彩推荐,请关注我们

d3faf8edee38764fe1dd7b87e6390f6a.png

Redis的配置文件位于Redis安装目录下,文件名为redis.conf(Windows名为redis.windows.conf)。通过vim/etc/redis/redis.conf命令打开此文件。下面我们将详细介绍此配置文件。

1.开头说明

0530da39bfdd10611b0db468c6350cec.png

        这里没什么好说的,需要注意的是后面需要使用内存大小时,可以指定单位,通常是以 k,gb,m的形式出现,并且单位不区分大小写

2.INCLUDES54108879359ce29810759e0ee93c3034.png

        我们知道Redis只有一个配置文件,如果多个人进行开发维护,那么就需要多个这样的配置文件,这时候多个配置文件就可以在此通过 include /path/to/local.conf 配置进来,而原本的 redis.conf 配置文件就作为一个总闸。  

    如果用过struts2 开发的同学,在项目组中多人开发的情况下,通常会有多个struts2.xml 文件,这时候也会通过类时的配置引入进来。

  另外需要注意的时,如果将此配置写在redis.conf 文件的开头,那么后面的配置会覆盖引入文件的配置,如果想以引入文件的配置为主,那么需要将 include 配置写在 redis.conf 文件的末尾。

3.MODULES

f22796c11ac8ef240ddc82bf874f23b1.png

        redis3.0的爆炸功能是新增了集群,而redis4.0就是在3.0的基础上新增了许多功能,其中这里的 自定义模块配置就是其中之一。通过这里的 loadmodule 配置将引入自定义模块来新增一些功能。

4.NETWORK

c552a0636d54388f3559554686616699.png

    这里的配置较长,我只截取了一部分,下同。

  • bind:绑定redis服务器网卡IP,默认为127.0.0.1,即本地回环地址。这样的话,访问redis服务只能通过本机的客户端连接,而无法通过远程连接。如果bind选项为空的话,那会接受所有来自于可用网络接口的连接。

  • port:指定redis运行的端口,默认是6379。由于Redis是单线程模型,因此单机开多个Redis进程的时候会修改端口。

  • timeout:设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接。默认值为0,表示不关闭。

  • tcp-keepalive :单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300s,如果设置为0,则不会周期性的检测。

5.GENERAL

c3c71b656318687945c2689e68ed3e6f.png

具体配置详解:

  • daemonize:设置为yes表示指定Redis以守护进程的方式启动(后台启动)。默认值为 no

  • pidfile:配置PID文件路径,当redis作为守护进程运行的时候,它会把 pid 默认写到 /var/redis/run/redis_6379.pid 文件里面

  • loglevel :定义日志级别。默认值为notice,有如下4种取值:

    • debug(记录大量日志信息,适用于开发、测试阶段)

    • verbose(较多日志信息)

    • notice(适量日志信息,使用于生产环境)

    • warning(仅有部分重要、关键信息才会被记录)

  • logfile :配置log文件地址,默认打印在命令行终端的窗口上

  • databases:设置数据库的数目。默认的数据库是DB 0 ,可以在每个连接上使用select   命令选择一个不同的数据库,dbid是一个介于0到databases - 1 之间的数值。默认值是 16,也就是说默认Redis有16个数据库。

6.SNAPSHOTTING

        这里的配置主要用来做持久化操作。  

cee53bf6fac8c3a68eab99e1374ee304.png     

  • save:这里是用来配置触发 Redis的持久化条件,也就是什么时候将内存中的数据保存到硬盘。

    默认如下配置:

    • save 900 1:表示900 秒内如果至少有 1 个 key 的值变化则保存;

    • save 300 10:表示300 秒内如果至少有 10 个 key 的值变化则保存;

    • save 60 10000:表示60 秒内如果至少有 10000个key的值变化则保存。

7.REPLICATION

cc4d13337cb5a9e086f30fee461745d4.png

  • slave-serve-stale-data:默认值为yes。当一个 slave 与 master 失去联系,或者复制正在进行的时候,slave 可能会有两种表现:

    • yes :slave 仍然会应答客户端请求,但返回的数据可能是过时,或者数据可能是空的在第一次同步的时候 ;

    • no :在你执行除了 info he salveof 之外的其他命令时,slave 都将返回一个 "SYNC with master in progress" 的错误;

  • slave-read-only:配置Redis的Slave实例是否接受写操作,即Slave是否为只读Redis。默认值为yes。

  • repl-diskless-sync:主从数据复制是否使用无硬盘复制功能。默认值为no。

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

  • repl-disable-tcp-nodelay:同步之后是否禁用从站上的TCP_NODELAY 如果你选择yes,redis会使用较少量的TCP包和带宽向从站发送数据。但这会导致在从站增加一点数据的延时。Linux内核默认配置情况下最多40毫秒的延时。如果选择no,从站的数据延时不会那么多,但备份需要的带宽相对较多。默认情况下我们将潜在因素优化,但在高负载情况下或者在主从站都跳的情况下,把它切换为yes是个好主意。默认值为no。

    上一篇:Redis配置文件还看不懂吗?laughing哥带你撸redis配置文件(二)

万水千山总是情,点个 “好看” 行不行!!!

66009dfb917db08091f188e9b912133e.png 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值