likes
comments
collection
share

好饭不怕晚,扒一下Redis的配置文件(一)

作者站长头像
站长
· 阅读数 46

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

好多小伙伴都来私信“催更”,今天它来了!

在往期的文章中我们已经对Redis的概念和基本命令进行了讲解,今天我们来看下它的配置文件,Redis的配置文件在我们的开发和实际应用中起着非常重要的作用。

我们可以在安装目录下找到redis.conf配置文件,通过vim命令进行查看,为了防止配置文件进行更改,大家在使用前一定要备份一下!

本文Redis的版本为5.0.7

UNITS

1k => 1000 bytes
1kb => 1024 bytes
1m => 1000000 bytes
1mb => 1024*1024 bytes
1g => 1000000000 bytes
1gb => 1024*1024*1024 bytes

单位不区分大小写,只支持bytes

INCLUDES

structs2配置文件类似,可以通过includes包含。redis.conf可以作为总闸,包含其他。

include /path/to/local.conf
include /path/to/other.conf

MODULES

loadmodule /path/to/my_module.so
loadmodule /path/to/other_module.so

Redis可以通过loadmodule选项在启动时加载模块,若服务端无法加载模块,服务端会停止。可以通过多个loadmodule选项加载多个模块。

NETWORK

  • bind 127.0.0.1:默认情况下,如果未指定“bind”配置指令,Redis将侦听服务器上所有可用网络接口的连接。

可以使用“bind”配置指令,后跟一个或多个IP地址,只侦听一个或多个选定接口。 例如: bind 192.168.1.100 10.0.0.1

当设置多个bind地址后,Redis内部会维护多个Socket,每个Socket用于一个network interface

  • protected-mode yes:此选项默认开启。

Redis服务端未使用bind选项显式指定要监听的network interface,并且未设置密码,Redis服务端只会接受来自127.0.0.1::1的客户端以及Unix域的Socket进行连接。

  • port 6379:用于设置Redis监听的TCP端口,默认为6379,设置为0表示不监听TCP端口
  • timeout 0:空闲多少秒之后关闭连接,“0”表示不关闭
  • tcp-keepalive 300:单位为秒,如果为0,则不会进行keepalive检测,建议设置成60
  • tcp-backlog 511:设置tcpbacklogbacklog其实是一个连接队列。

backlog队列总和 = 未完成三次握手队列 + 已经完成三次握手队列

在高并发环境下需要一个高backlog值来避免慢客户端连接问题。

注意Linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值,所以需要确认增大somaxconntcp_max_syn_backlog两个值来达到想要的效果。

以上就是今天的全部内容了,如果你有不同的意见或者更好的idea,欢迎联系阿Q,添加阿Q可以加入技术交流群参与讨论呦!

后台留言领取 java 干货资料:学习笔记与大厂面试题

转载自:https://juejin.cn/post/7012166862137982990
评论
请登录