本篇博客依照redis.conf配置文件的英文内容依次进行翻译解析~
#######################Redis configuration file example
# 为了读取redis配置文件,启动redis时必须将配置文件路径作为第一个参数
# 如:./redis-server /path/to/redis.conf
# 内存的单位如下:
# 1k => 1000 bytes
# 1kb => 1024 bytes
# …
# 单位对大小写不敏感,即1GB 1Gb 1gB相同
####################### INCLUDES 【引入配置文件】
# 当存在适用于多台redis服务器的通用配置文件,但是当前redis服务器有个性化需求时,可以在这里include引入通用配置文件。
# include语句须放在文件开头,这样,当前配置才可以在继承的基础上选择性修改。
# 若include语句放在文件最后,当前配置会被include引入的配置文件覆盖。
# include /path/to/local.conf
# include /path/to/other.conf
####################### MODULES 【加载模块】
# redis启动时加载模块,如果加载失败,redis也将启动失败。
# loadmodule /path/to/my_module.so
# loadmodule /path/to/other_module.so
####################### NETWORK 【TCP/IP,端口】
#默认情况下,如果没有指定bind配置,redis会监听服务器上所有可用网络接口的连接。
# 你可以bind一个或多个IP
# 如:
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#为了安全,建议不要注释掉下面bind配置(redis只监听IPv4的回送接口,即redis服务器只接收本机的其他进程发来的redis连接)
bind 127.0.0.1
# Protected mode是安全保护层,默认开启,假如redis没有bind配置和设置密码,仍然可以保证redis服务器只接受本机的其他进程发来的redis连接
protected-mode yes
# 默认监听端口6379
port 6379
# 高并发时需要设置较高的backlog值,以避免客户端慢连接的问题
# Linux内核tcp半连接队列SYN Queue长度:/proc/sys/net/ipv4/tcp_max_syn_backlog
# Linux内核tcp全连接队列Accept Queue长度:二者最小值
MIN(/proc/sys/net/core/somaxconn【默认值为128】,配置的值tcp-backlog)
tcp-backlog 511
# Unix socket.配置此项,让redis支持监听本地连接
# unixsocket /tmp/redis.sock
# unixsocketperm 700
# 当客户端空闲超过N秒时自动断开连接,0意味着服务器不主动断开连接。
timeout 0
# 设置该参数作用:1.检测挂掉的对端 2.降低因中间设备出问题而导致网络看似连接却无效的问题
tcp-keepalive 300
#################### GENERAL 【进程,日志】
# 默认为no,若想将redis设置为守护进程,设为yes,进程文件为:/var/run/redis.pid
daemonize yes
# 不了解,待更新~
# If you run Redis from upstart or systemd, Redis can interact with your
# supervision tree. Options:
# supervised no - no supervision interaction
# supervised upstart - signal upstart by putting Redis into SIGSTOP mode
# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
# supervised auto - detect upstart or systemd method based on
# UPSTART_JOB or NOTIFY_SOCKET environment variables
# Note: these supervision methods only signal “process is ready.”
# They do not enable continuous liveness pings back to your supervisor.
supervised no
# 若指定进程文件,且redis不是守护进程,该进程文件只是临时文件。
# 若指定进程文件,且redis是守护进程,该进程文件位置如下。
# 若未指定进程文件,且redis不是守护进程,不产生进程文件。
# 若未指定进程文件,且redis是守护进程,该文件位置为/var/run/redis.pid。
pidfile /var/run/redis_6379.pid
# redis服务器4种日志级别:
# debug (适合开发/测试)
# verbose (显示较多信息)
# notice (适合生产环境)
# warning (只显示非常重要的信息)
loglevel notice
# 指定日志文件。允许设置空字符串,redis日志将输出到标准输出设备,假如redis是守护进程,日志会输出到 /dev/null
logfile ""
# 是否启用 system logger
# syslog-enabled no
# syslog的标识符
# syslog-ident redis
# 指定syslog设备. 必须是 USER 或者 LOCAL0-LOCAL7之间
# syslog-facility local0
# 设置redis数据库的数量,索引从0开始,可以select n切换数据库
databases 16
# 是否始终显示logo
always-show-logo yes
##################### SNAPSHOTTING 【DB持久化】
# redis数据库持久化,若注释掉如下配置,或者配置save “” 则无法持久化到数据库。
# 格式:save
# 若给定时间内发生的写入操作次数满足如下配置,则进行数据库持久化。
# 如:
# after 900 sec (15 min) if at least 1 key changed
# after 300 sec (5 min) if at least 10 keys changed
# after 60 sec if at least 10000 keys changed
save 900 1
save 300 10
save 60 10000
# 默认情况下为yes,当RDB持久化发生错误时,将停止工作;若设置为no,则发生错误仍继续工作
stop-writes-on-bgsave-error yes
# 生成.rdb文件时是否进行压缩(默认yes,节省磁盘空间,但是会消耗CPU)
rdbcompression yes
# 是否校验rdb文件(默认yes,有利于提高文件容错性,但是会有10%的性能损耗)
rdbchecksum yes
# 存储的数据库文件名
dbfilename dump.rdb
# 指定数据库文件存储目录
dir ./
未完待续~