redis的配置选项被划分为以下几个部分
network 网络配置
配置项 | 说明 | 例子 |
---|---|---|
bind | 绑定本机某个IP地址 | bind 127.0.0.1 |
protected-mode | 设置为no时,外网地址能够访问。yes时,需要设置bind 或 设置密码外网才能访问 | |
port | 绑定的端口号 | |
tcp-backlog | 设置tcp access-queue 的长度 | |
unixsocket | 设置unixsocket文件地址,本地可以通过socke文件链接 | |
timeout | 设置空闲超时时间,超过指定的时间,客户端没有与服务器端交互,链接会断开 | |
tcp-keepalive |
general 通用配置
配置项 | 说明 | 例子 |
---|---|---|
daemonize | 是否运行为守护进程 | |
pidfile | pid文件路径 | |
loglevel | 记录的日志级别,warning、notice、verbose、debug | |
logfile | 日志文件路径 | |
syslog-enabled | 是否使用rsyslog记录日志 | |
syslog-ident | rsyslog 记录的日志标识 | |
syslog-ident | rsyslog 记录的日志标识 | |
syslog-facility | 指定通过那个forcirity 记录日志 | |
databases | 指定能够使用多少个数据库 |
snapshotting RDB快照配置
配置项 | 说明 | 例子 |
---|---|---|
save | 在指定的时间能,有多少数据发生改变,会触发一次快照 | save 300 10 ,每300秒内,如果有10条数据发生改变触发一次快照 |
stop-writes-on-bgsave-error | redis在进行快照时会开启一个子进程进行。如果进行快照时发生错误,redis主进程是否停止写操作 | |
rdbcompression | 是否压缩RDB快照文件 | |
rdbchecksum | 是否校验rdb文件 | |
dbfilename | RDB 文件名字 | |
dir | 配置redis的工作目录 |
replication 主从复制配置
配置项 | 说明 | 例子 |
---|---|---|
slaveof | 作为从服务器,指定需要进行复制的主服务器 | |
slave-serve-stale-data | 在从服务器无法联系主服务器或正在与主服务器进行同步时会有2种行为。yes继续响应客户的请求(数据可能是过期的)。no已链接的客户端会阻塞,拒绝新的链接请求 | |
slave-read-only | 重服务器只读 | |
repl-diskless-sync | 当新的从服务器或重新链接的从服务器链接主服务器时,需要进行全量同步。全量同步有两种方式,disk和socket。使用disk方式进行同步,redis会创建一个子进程生将rdb 写入到文件,再将文件发送给从服务器,如有后续还有全量同步请求,只需要发送已经生成的文件 。使用socket方式进行同步,redis会将rdb以socket的方式发送给从服务器,有后续还有全量同步请求,需要等待前一个全量同步请求完成,才能进行下一个进行同步请求,无需使用磁盘。yes使用socket,no使用disk | |
repl-diskless-sync-delay | 当repl-diskless-sync使用的是socke方式进行全量同步时,延时指定的秒数发送rdb给从服务器。在这段时间如果接收到多个全量同步请求,将会一起发送rdb给从服务器 | |
repl-ping-slave-period | 从服务器进行多少秒发送ping给主服务器 | |
repl-timeout | 同步超时时间 | |
repl-disable-tcp-nodelay | yes禁止使用tcp-nodelay,no使用tcp-nodelay。不使用ttcp-nodelay,tcp报文会尽可能等待封装更多的数据,一起发送,延时大,发送次数少。开启tcp-nodelay,tcp会尽快的将数据封装成报文进行发送,延时少,发送次数多,数据量增加 | |
repl-backlog-size | 设置同步缓冲区大小大多数情况下主从只需要进行部分同步,当从服务器与主服务器失去联系时,主服务器会将同步的数据存入缓冲区 | |
repl-backlog-ttl | 超过指定的时间,如何主服务器还是联系不上重服务器,将会清空repl-backlog-size缓冲 | |
slave-priority | 从服务器优先级别,数值越小,优先级越高。进行主从切换时,提升为主服务器的机会越大。0表示不参与主从切换 | |
min-slaves-to-write | ||
min-slaves-max-lag |
security 安全配置
配置项 | 说明 | 例子 |
---|---|---|
requirepass | 使用验证密码 | |
rename-command | 重命名命令 |
limits 限制配置
配置项 | 说明 | 例子 |
---|---|---|
maxclients | 最大客户端连接 | |
maxmemory | 最大使用内存 | |
maxmemory-policy | 指定缓存替换算法,volatile-lru:将最近最少使用的过期缓存换出,allkeys-lru:将将最近最少使用的缓存换出,volatile-random:将任意过期的换出,allkeys-random:将任意的缓存换出,volatile-ttl:将将要过期的缓存换出,noeviction:不换出任何缓存 |
append only mode AOF持久化配置
配置项 | 说明 | 例子 |
---|---|---|
appendonly | 是否开启aof持久化 | |
appendfilename | aof文件名 | |
appendfsync | 如何将文件缓冲同步到磁盘文件,always:每写一次文件都会同步磁盘文件,everysec:每一秒同步磁盘文件,no:由操作系统确定什么时候进行同步 | |
no-appendfsync-on-rewrite | 在进行aof重写时,由操作系统确定如何将aof文件缓冲同步到文件,相当于appendfsync设置为no | |
appendonly | 是否开启aof持久化 | |
auto-aof-rewrite-percentage | 当aof文件超过指定的百分比大小时,触发aof文件重写 | |
auto-aof-rewrite-min-size | aof文件小于指定的大小时,不触发aof重写 |
REDIS CLUSTER redis集群配置
SLOW LOG 慢查询配置
配置项 | 说明 | 例子 |
---|---|---|
slowlog-max-len | 慢查询队列长度,redis 是通过一个先进先出的队列保存慢查询记录,如果队列满了,前面的记录会被丢弃。队列是储存在内存中的,重启redis后会清空记录。一般设置成1000。 | |
slowlog-log-slower-than | 慢查询队列长度, 超过指定的执行时间后会被标记为慢查询,0表示记录所有查询,单位是微妙,一帮设置为1毫秒。 |