redis的配置文件
Posted 两片空白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis的配置文件相关的知识,希望对你有一定的参考价值。
目录
redis的配置文件名为redis.conf,一般会安装在/etc目录下。
如果找不到该文件可以使用find命令查找。
find . -name redis.conf
介绍
1. 单位的设置方式
- 只支持字节类型,不支持位(bit)类型
- 不区分大小写
2. 可以包含其他文件内容
3. 网络配置相关
3.1 bind
默认情况下bind=127.0.0.1 只能接受本机的访问请求。
不写的情况下,即注释的情况下,无限制接受任何ip的请求,即可以接收远端请求操作redis。一般情况下需要注释。
需要接收远端主机访问,还需要将protected-mode设置位no。
3.2 protected-mode
表示本机访问的保护模式,默认是yes。
开启的情况下,如果没有设置bind ip 且没有设定密码的情况下,redis只允许接收本机访问。
3.3 默认端口号
3.4 tcp-backlog
tcp是一种网络协议。tcp-backlog是设置tcp的backlog,backlog其实是一个连接队列,backlog的总和等于未完成三次握手队列和已经完成三次握手的队列总和。
在高并发的情况下,你需要一个高backlog值来避免慢客户端连接的问题。
注意:linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值(128),所以需要增大/proc/sys/net/core/somaxconn和/proc/sys/net/ipv4/tcp_max_syn_backlog(128)两个值来达到想要的效果。
3.5 timeout
当连接redis服务器,进入redis客户端。但是长时间不使用redis,如果超过timeout的时间redis会自动断开连接,在timeout时间后操作需要重新连接redis。timeout为0,表示永不超时。
3.6 tcp-keepalive
检测心跳。redis会根据tcp-keepalive的时间,检测客户端是否还存在。相当于redis服务器发送一个请求给客户端,看是否有响应,没有响应说明客户端不存在了,redis服务器会自动断开连接,避免占用redis服务器的资源。
4. 通用
4.1 daemonize
设置redis后台启动。yes设置后台启动,相反不是。变成守护进程。
4.2 pidfile
redis的每一个操作是一个进程,会有进程id。会将pid保存到pidfile的文件中。
4.3 loglevel
表示redis中日志级别。有四个级别。
4.4 logfile
表示日志输出的文件路径
4.5 databases
redis默认库的个数。
5. 安全
5.1 设置访问密码
注释表示不设置密码,需要设置密码需要打开注释。
访问密码的查看,设置和取消。
可以通过命令来设置密码,但是只是临时的,重启服务器,密码就还原了。
永久设置需要在配置中进行设置。
在redis中通过命令设置:
6. 限制
6.1 maxclients
设置redis同时可以与多少个客户端进行连接。
默认情况下为10000个客户端。
如果达到了限制,redis会拒绝新的连接请求,并向这些请求发送"max number of clients reached"响应。
6.2 maxmemory
redis是内存数据库。
设置redis可以使用的内存量,一旦达到上限,redis会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。
建议必须设置,否则内存占满,造成服务器宕机。
如果redis无法根据移除规则来移除内存中的数据,或者设置了"不允许移除",那么redis会根据那些需要申请内存的指令返回错误信息,比如SET,LPUSH等指令。
但还是对于无内存申请的指令。仍然会正常响应,比如get指令。如果你的redis是主redis,表示你的redis有从redis,那么在设置内存上限时,需要在系统中预留出一些内存空间给同步队列缓存。只有在你设置不移除的情况下,才不用考虑这个情况。
6.3 maxmemory-policy
6.3 maxmemory-samples
设置样本数量。LRU算法和最小的TTL算法并非精确算法,而是估算值,所以你可以设置样本的大小,redis会默认检测这么多的key并选择其中LRU中的那个。
一般设置3-7,数值越小样本越不准确,当性能消耗越小。
配置中还有持久化操作,后面补充...
以上是关于redis的配置文件的主要内容,如果未能解决你的问题,请参考以下文章