简介

redis 一般都是通过网络提供服务的。

绑定监听地址

默认配置文件是绑定的127.0.0.1的地址,这个只能本机使用。

如果没有指定bind这个参数默认是监听本机的所有地址。

例如

# bind 192.168.1.100 10.0.0.1

多个地址使用空格间隔开。

unix socket

redis也可以通过unix socket提供服务,默认不指定就不开启。

unixsocket /tmp/redis.sock
unixsocketperm 700

unixsocketperm是设置socket文件的权限,根据需要设置权限即可。默认是使用系统的umask对应的设置权限。

保护模式

保护模式,是为了让redis在相对比较安全的情况下运行。

protected-mode yes

开启保护默认,就不设置密码,只能监听本地的回环地址,127.0.0.1、::1、 Unix domain Socket等本地的地址,限制只能本机访问。

需要监听其他网络地址就需要设置密码了。不建议关闭保护模式。

监听端口

默认监听端口是6379

port 6379

tcp-backlog

此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度。

此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。

当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。

默认值 511

tcp-backlog:511

修改tcp-backlog

改somaxconn

该内核参数默认值一般是128,对于负载很大的服务程序来说大大的不够。一般会将它修改为2048或者更大。

echo 2048 > /proc/sys/net/core/somaxconn

但是这样系统重启后保存不了

在/etc/sysctl.conf中添加如下

net.core.somaxconn = 2048

然后在终端中执行

sysctl -p

再去修改redis的配置。

超时

当一个连接的客户端多久没有操作之后断开连接,0表示不超时。

timeout 0

TCP keepalive

tcp保持连接的时间,从redis3.2.1开始,默认是300s,一般建议保持默认即可。

tcp-keepalive 300