好饭不怕晚,扒一下Redis的配置文件(一)
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
好多小伙伴都来私信“催更”,今天它来了!
在往期的文章中我们已经对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:设置
tcp
的backlog
,backlog
其实是一个连接队列。
backlog
队列总和 = 未完成三次握手队列 + 已经完成三次握手队列
在高并发环境下需要一个高backlog
值来避免慢客户端连接问题。
注意:Linux
内核会将这个值减小到/proc/sys/net/core/somaxconn
的值,所以需要确认增大somaxconn
和tcp_max_syn_backlog
两个值来达到想要的效果。
以上就是今天的全部内容了,如果你有不同的意见或者更好的idea
,欢迎联系阿Q,添加阿Q可以加入技术交流群参与讨论呦!
后台留言领取 java 干货资料:学习笔记与大厂面试题
转载自:https://juejin.cn/post/7012166862137982990