一般配置
#修改daemonize为yes,即默认以后台程序方式运行(跟使用&号强制后台运行是一个意思)
daemonize yes
#修改默认监听端口(一般用默认的)
port 6379
#修改生成默认日志文件位置
logfile "/home/logs/redis/redis.log"
#配置持久化文件存放位置
dir /home/apps/redis/data
#PID文件
pidfile /home/apps/redis/redis.pid
#保护模式
protected-mode no
#支持集群
cluster-enabled yes
Redis 配置详解.
# 请注意,为了读取配置文件,必须以文件路径作为第一个参数启动Redis:
# ./redis-server /path/to/redis.conf
# 内存大小单位
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
# 单位不区分大小写,因此 1GB 1Gb 1gB 是一样的.
################################## INCLUDES ###################################
# 在此处包含一个或多个其他配置文件。如果您有一个标准模板可用于所有Redis服务器,但还需要自定义一些服务器设置。
#
# “include”不会被来自admin或Redis Sentinel的命令“CONFIG REWRITE”重写。
# 由于Redis始终使用最后处理的行为作为配置指令的值,因此最好将include放在此文件的开头,以避免在运行时覆盖配置更改。
#
# 如果你要使用includes来覆盖配置选项,最好将include作为最后一行。
#
# include /path/to/local.conf
# include /path/to/other.conf
################################## MODULES #####################################
# 启动时加载指定模块,如果服务器无法加载模块,它将中止。 这里可以使用多个loadmodule指令。
#
# loadmodule /path/to/my_module.so
# loadmodule /path/to/other_module.so
################################## NETWORK #####################################
# 默认情况下,如果未指定“bind”配置指令,则Redis将监听来自服务器上可用的所有端口的连接。
# 可以使用“bind”配置指令仅监听一个或多个指定的IP地址。
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#
# ~~~ WARNING ~~~ 如果运行Redis的计算机直接暴露于Internet,则绑定到所有接口是危险的,并且会将实例暴露给Internet上的每个人。
# 因此,默认情况下,我们不会注释以下绑定指令,这意味着Redis只能接受来自指定ip的客户端的连接
#
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1
# 保护模式是一层安全保护,以避免在Internet上打开的Redis实例被访问和利用。
#
# 当保护模式打开的情况下,如果:
#
# 1) 服务器未使用“bind”指令显式绑定到一组地址。
# 2) 没有配置密码。
#
# 服务器仅接受来自IPv4和IPv6环回地址127.0.0.1和:: 1以及Unix域套接字的客户端的连接。
#
# 默认情况下保护模式是开启的。 只有在希望其他主机的客户端即使未配置任何身份验证,仍要连接到Redis时,应该禁用此选项并且不使用“bind”指令明确列出一组特定的接口。
protected-mode yes
# 接受指定端口上的连接,默认为6379
# 如果指定了端口0,则Redis不会侦听TCP套接字。
port 6379
# TCP连接最大积压数
#
# 在大量客户端连接的情况下,应该提高该值,以免客户端连接慢。
# 但该值受系统内核参数的限制,包括 somaxconn 和 tcp_max_syn_backlog。
tcp-backlog 511
# Unix socket.
#
# 指定将用于监听传入连接的Unix套接字的路径。 没有默认值,因此Redis在未指定时不会侦听unix套接字。
#
# unixsocket /tmp/redis.sock
# unixsocketperm 700
# 当连接的客户端连续空闲指定时间后,就断开该连接。指定值为0时禁用超时机制。
timeout 0
# TCP keepalive.
# 周期性检测客户端是否可用
# 如果非零,则在没有通信的情况下使用SO_KEEPALIVE向客户端发送TCP ACK。
# 此选项的合理值为300秒
tcp-keepalive 300
################################# GENERAL #####################################
# 设定是否以守护进程启动服务(默认是no),守护进程会生成 PID 文件 /var/run/redis_6379.pid。
daemonize no
# 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
# 启用守护进程模式时,会生成该文件。
pidfile /var/run/redis_6379.pid
# 指定日志级别
# 日志级别有以下选项:
# debug (适用于开发/测试)
# verbose (很少但很有用的信息)
# notice (信息适中,推荐选项)
# warning (只记录非常重要/关键的消息)
loglevel notice
# 指定保存日志的文件。请注意,如果您使用标准输出进行日志记录,守护进程情况下,日志将发送到/dev/null
logfile ""
# 要启用日志记录到系统记录器,只需将“syslog-enabled”设置为yes,并可选择更新其他syslog参数以满足您的需要。
# syslog-enabled no
# 指定syslog标识。
# syslog-ident redis
# 指定syslog工具。 必须是USER或LOCAL0-LOCAL7之间。
# syslog-facility local0
# 设置数据库数量,默认为16. 默认数据库是 DB 0, 你可以使用 SELECT <dbid> 选择使用的数据库。
# 数据库编号在 0 到 'databases'-1
databases 16
# 启动日志中是否显示redis logo,默认是开启的
always-show-logo yes
################################ SNAPSHOTTING ################################
#
# 数据持久化:
#
# save <seconds> <changes>
#
# 指定时间间隔后,如果数据变化达到指定次数,则导出生成快照文件
#
# 示例如下:
#
# 900 秒(15 分钟)内至少有1个key被修改
# 300 秒(5分钟)内至少有10个key被修改
# 60 秒(1分钟)内至少有10000个key被修改
#
#
# 如果指定 save "",则相当于清除前面指定的所有 save 设置
#
# save ""
save 900 1
save 300 10
save 60 10000
# 在启用快照的情况下(指定了有效的 save),如果遇到某次快照生成失败(比如目录无权限),
# 之后的数据修改就会被禁止。这有利于用户及早发现快照保存失败,以免更多的数据不能持久化而丢失的风险。
# 当快照恢复正常后,数据的修改会自动开启。
# 如果你有其他的持久化监控,你可以关闭本机制。
stop-writes-on-bgsave-error yes
# 快照中