dbfilename 本地数据库文件名,默认值为dump.rdb
requirepass 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH
masterauth 在从服务器连接到主服务器的时候,如果主服务器设置了密码,这儿就需要填写主服务器密码,用来让从服务器连接到主服务器。
logfile 日志文件存放目录,例如:logfile "d:/Redis/redis.log",默认是在cmd窗口上显示的,如果设置了这个则会在该文件中记录日志
maxmemory 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。如果redis的应用场景是作为db使用,那不要设置这个选项,因为db是不能容忍丢失数据的。如果作为cache使用,则可以启用这个选项(其实既然有淘汰策略,那就是cache了)
timeout 当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
auto-aof-rewrite-percentage 当Aof的log增长超过指定比例时,重写log文件,设置为0表示不自动重写Aof日志,重写是为了使aof体积保持最小,而确保保存最完整的数据。
auto-aof-rewrite-min-size 触发aof-rewrite的最小文件尺寸,默认为 64mb
lua-time-limit 一个Lua脚本最长的执行时间,单位为毫秒,如果为0或负数表示无限执行时间,默认为5000
redis的slowlog是redis用于记录记录慢查询执行时间的日志系统。由于slowlog只保存在内存中,因此slowlog的效率很高,完全不用担心会影响到redis的性能。Slowlog是Redis从2.2.12版本引入的一条命令。
slowlog-log-slower-than 表示slowlog的划定界限,只有query执行时间大于slowlog-log-slower-than的才会定义成慢查询,才会被slowlog进行记录。slowlog-log-slower-than设置的单位是微妙,默认是10000微妙,也就是10ms
port 当前服务器运行的端口
databases 当前服务器数据库总数
repl-ping-slave-period 从服务器根据指定的时间间隔向服务器发送ping请求。时间间隔可以通过 repl_ping_slave_period 来设置,默认10秒。
repl-timeout Redis复制超时的默认值是60秒
repl-backlog-size 复制缓冲区大小,这是一个环形复制缓冲区,用来保存最新复制的命令。这样在slave离线的时候,不需要完全复制master的数据,如果可以执行部分同步,只需要把缓冲区的部分数据复制给slave,就能恢复正常复制状态。缓冲区的大小越大,slave离线的时间可以更长,复制缓冲区只有在有slave连接的时候才分配内存。没有slave的一段时间,内存会被释放出来,默认1m。
repl-backlog-ttl 多久释放backlog,当确认master不再需要slave的时候,多久释放。0是永远不释放。
maxclients 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息
slave-priority 从主机的优先级,如果当主主机挂了的时候,将从从主机中选取一个作为其他从机的主,首先优先级的数字最低的将成为主,0是一个特殊的级别,0将永远不会成为主。默认值是100
min-slaves-to-write 从服务器数量
min-slaves-max-lag 秒
min-slaves-to-write和min-slaves-max-lag两个选项可以防止主服务器在不安全的情况下执行写命令。
在从服务器的数量少于3个,或者三个从服务器的延迟(lag)值都大于或等于10秒时,主服务器将拒绝执行写命令,这里的延迟值就是上面提到的INFO replication命令的lag值。
当一个slave失去和master的连接,或者同步正在进行中,slave的行为可以有两种表现:
1、 如果 slave-serve-stale-data 设置为 "yes" (默认值),slave会继续响应客户端请求,
2、 如果 slave-serve-stale-data 设置为 "no",slave会回复"正在从master同步
slave-read-only yes从服务器设置为只读模式
daemonize Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
rdbcompression 指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
repl-disable-tcp-nodelay 定向slave同步数据时,是否禁用socket的NO_DELAY选项。若配置为yes,则禁用NO_DELAY,则TCP协议栈会合并小包统一发送,这样可以减少主从节点间的包数量并节省带宽,但会增加数据同步到slave的时间。若配置为no,表明启用NO_DELAY,则TCP协议栈不会延迟小包的发送时机,这样数据同步的延时会减少,但需要更大的带宽。通常情况下,应该配置为no以降低同步延时,但在主从节点间网络负载已经很高的情况下,可以配置为yes。
aof-rewrite-incremental-fsync aof-rewrite过程中,是否采取增量"文件同步"策略,默认为"yes",而且必须为yes.
appendonly 是否启动aof,默认是no代表不启用,yes代表启用。
dir redis的目录 默认为./ 。将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可恢复数据库数据,那么dir就是告诉redis在那个目录。一般情况下默认即可。
appendfsync 当设置appendfsync为no的时候,Redis不会主动调用fsync去将AOF日志内容同步到磁盘,所以这一切就完全依赖于操作系统的调试了。对大多数Linux操作系统,是每30秒进行一次fsync,将缓冲区中的数据写到磁盘上。
loglevel log等级分为 4 级, debug, verbose, notice, 和 warning。生产环境下一般开启 notice
bind 绑定的主机地址 , 默认127.0.0.1