一、前言
了解一下redis 的配置文件。redis.conf 这个文件的是非常重要的,大多数配置我们不需要改动,最好维持原样,今天我们来详细解析下 redis6.0 的大部分参数设置,一起加深对 redis 的认识,看完之后,对 redis 也有了个大致的基本概念,本文篇幅较长,建议收藏备忘。
二、各参数解析
2.1 Units 单位
2.2 INCLUDES 包含
类似于 c语言的头文件,就是引入其他文件到配置中,然后按顺序解析配置,如果配置相同,就按后面解析的为准。
2.3 MODULES 模块
跟导入文件类似,这块是导入新增模块功能
2.4 NETWORK 网络
2.4.1 bind
默认的 bind = 127.0.0.1 意思是只能接收本机的访问请求
如果不写的情况下,就是无限制接受任何ip地址的访问。
2.4.2 protected-mode
开启该参数后,redis 只会本地进行访问,默认yes ,最好将本机访问保护模式设置 no
2.4.3 PORT
默认端口号6379
2.4.4 tcp-backlog
设置跟tcp 相关的参数,backlog 事实上是一个连接队列,backlog队列总和=未完成三次握手队列+已经完成三次握手队列
在高并发环境下,往往需要设置一个比较大的值来避免客户端连接慢的问题
注意Linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值(128),所以需要确认增大/proc/sys/net/core/somaxconn和/proc/sys/net/ipv4/tcp_max_syn_backlog(128)两个值来达到想要的效果
2.4.5 timeout
一个空闲的客户端维持多少秒会关闭,0 表示关闭该功能,就是永远不关闭。
2.4.6 tcp-keepalive
它是对访问客户端的一种心跳检测的配置,避免服务器一直阻塞,每隔 n 秒 检测一次,如果设置为0,则不检测。
2.5 GENERAL 通用
2.5.1 daemonize
需要设置为yes,允许redis 以守护线程的形式在后台启动。
2.5.2 pidfile
存放 pid 文件的位置,每个实例会产生一个不同的 pid 文件。是 redis的 进程文件
2.5.3 loglevel
指定记录日志的级别,包含四层级别:
- debug:很多信息,方便那开发、测试
- vervose:许多有用信息,但是没有debug级别信息多
- notice:适当的日志级别,适合生产环境
- warn :只有非常重要的信息
通常生产环境选择 notice 或warn。
2.5.4 logfile
日志文件名称,空字符串的化,日志会打印到标准输出设备,后台运行的redis标准输出是
bash
代码解读
复制代码
/dev/null logfile /usr/local/redis/var/redis.log
2.5.5 database 16
设定库的数量 默认16个,从0开始,通过 select 来指定数据库id
2.6 SNAPSHOTTING 快照
这里的配置主要用来做持久化操作
2.6.1 save
配置 redis 的持久化条件,即在什么条件下把内存的数据保存到磁盘上。当然,如果你不想开启这个功能,就通过空字符串来停用。
vbnet
代码解读
复制代码
save 900 1:表示900 秒内如果至少有 1 个 key 的值变化,则保存 save 300 10:表示300 秒内如果至少有 10 个 key 的值变化,则保存 save 60 10000:表示60 秒内如果至少有 10000 个 key 的值变化&#x