Redis6-redis.conf配置文件说明
###NETWORK(网络)###(需记) | |
bind 默认配置项:bind 127.0.0.1 | 说明:Redis服务监听地址,用于Redis客户端连接,默认只监听本机回环地址。 默认配置项:bind 127.0.0.1 |
protected-mode 默认配置项:protected-mode yes | 说明:Protected模式是一层安全保护。默认是开启的,配置bind ip或者设置访问密码访问,关闭后,外部网络可以直接访问。 |
prot 默认配置项:port 6379 | 说明:Redis监听端口,默认为6379 |
tcp-backlog 默认配置项:tcp-backlog 511 | 说明:此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511。 而Linux的默认参数值是128,当系统并发量大并且客户端速度缓慢的时候,建议修改值大于511。 |
unixsocket 默认配置项: unixsocket /tmp/redis.sock | 说明:指定 unix socket 的路径 |
unixsocketperm 默认配置项:unixsocketperm 700 | 说明:指定 unix socket file 的权限。 |
timeout 默认配置项:timeout 0 | 说明:在客户端闲置多少秒后断开连接。 |
tcp-keepalive 默认配置项:tcp-keepalive 300 | 说明:用来定时向client发送tcp_ack包来探测client是否存活的 |
###GENERAL(通用)###(精通) | |
daemonize 默认配置项:daemonize no | 说明:默认情况下,Redis不作为守护进程运行。如果你需要的话,用yes。 |
supervised 默认配置项:supervised no | 说明:可以通过upstart和systemd管理Redis守护进程,这个参数是和具体的操作系统相关的。 |
pidfile 默认配置项:pidfile /var/run/redis_6379.pid | 说明:配置pid文件路径,当redis以守护模式启动时,如果没有配置pidfile,pidfile默认值是/var/run/redis.pid 。 |
loglevel 默认配置项:loglevel notice | 说明:日志记录等级,有4个可选值,debug(开发),verbose(默认值),notice(生产),warning(警告) |
logfile 默认配置项:logfile " " | 说明:日志文件的位置,当指定为空字符串时,为标准输出,如果redis已守护进程模式运行,那么日志将会输出到 /dev/null,若指定了路径,日志将会输出到指定文件 。 |
syslog-enabled 默认配置项:syslog-enabled no | 说明:是否把日志记录到系统日志。 |
syslog-ident 默认配置项:syslog-ident redis | 说明:指定syslog里的日志标识 |
syslog-facility 默认配置项:syslog-facility local0 | 说明:指定syslog设备(facility),必须是user或则local0到local7。 |
databases 默认配置项:databases 16 | 说明:可用数据库数量 |
always-show-logo 默认配置项:always-show-logo yes | 说明:Redis显示一个ASCII艺术徽标只有当开始登录到标准输出,以及标准输出是否是TTY。 |
###SNAPSHOTTING(快照)### (需记) | |
save 默认配置项: save 900 1 save 300 10 save 60 10000 | 说明:多少秒保存数据到磁盘,格式是:save <seconds> <changes>。意思是至少有changes条key数据被改变时,seconds秒保存到磁盘。 |
stop-writes-on-bgsave-error 默认配置项:stop-writes-on-bgsave-error yes | 说明:默认情况下,如果 redis 最后一次的后台保存失败,redis 将停止接受写操作,这样以一种强硬的方式让用户知道数据不能正确的持久化到磁盘, 否则就会没人注意到灾难的发生。 如果后台保存进程重新启动工作了,redis 也将自动的允许写操作。 |
rdbcompression 默认配置项:rdbcompression yes | 说明:当dump .rdb数据库的时候是否压缩数据对象,如果你想节约一些cpu资源的话,可以把它设置为no,这样的话数据集就可能会比较大。 |
rdbchecksum 默认配置项:rdbchecksum yes | 说明:存储和加载rdb文件时校验,会占用一部分资源。 |
dbfilename 默认配置项:dbfilename dump.rdb | 说明:本地数据库文件名,默认值为dump.rdb |
rdb-del-sync-files 默认配置项:rdb-del-sync-files no | 说明:在没有持久性的情况下删除复制中使用的RDB文件启用。默认情况下,此选项是禁用的。 |
dir 默认配置项:dir ./ | 说明:本地数据库存放路径,默认值为 ./ |
###REPLICATION(主从)###(必会) | |
replicaof 默认配置项:replicaof <masterip> <masterport> | 说明:格式:replicaof <masterip> <masterport>,当本机为从服务时,设置主服务的IP及端口。例如:replicaof 192.168.233.233 6379。 |
masterauth 默认配置项:masterauth <master-password> | 说明:当本机为从服务时,设置主服务的连接密码。 |
masteruser 默认配置项:masteruser <username> | 说明:当本机为从服务时,设置主服务的用户名。 |
slave-serve-stale-data 默认配置项:replica-serve-stale-data yes | 说明:当slave失去与master的连接,或正在拷贝中,如果为yes,slave会响应客户端的请求,数据可能不同步甚至没有数据,如果为no,slave会返回错误"SYNC with master in progress" |
replica-read-only 默认配置项:replica-read-only yes | 说明:如果为yes,slave实例只读,如果为no,slave实例可读可写。 |
repl-diskless-sync 默认配置项:repl-diskless-sync no | 说明:新的从站和重连后不能继续备份的从站,需要做所谓的“完全备份”,即将一个RDB文件从主站传送到从站。这个传送有以下两种方式: 硬盘备份:redis主站创建一个新的进程,用于把RDB文件写到硬盘上。过一会儿,其父进程递增地将文件传送给从站。 无硬盘备份:redis主站创建一个新的进程,子进程直接把RDB文件写到从站的套接字,不需要用到硬盘。 在硬盘备份的情况下,主站的子进程生成RDB文件。一旦生成,多个从站可以立即排成队列使用主站的RDB文件。在无硬盘备份的情况下,一次RDB传送开始,新的从站到达后,需要等待现在的传送结束,才能开启新的传送。 如果使用无硬盘备份,主站会在开始传送之间等待一段时间(可配置,以秒为单位),希望等待多个子站到达后并行传送。 在硬盘低速而网络高速(高带宽)情况下,无硬盘备份更好。 |
repl-diskless-sync-delay 默认配置项:repl-diskless-sync-delay 5 | 说明:无盘复制延时开始秒数,默认是5秒,意思是当PSYNC触发的时候,master延时多少秒开始向master传送数据流,以便等待更多的slave连接可以同时传送数据流,因为一旦PSYNC开始后,如果有新的slave连接master,只能等待下次PSYNC。可以配置为0取消等待,立即开始。 |
repl-diskless-load 默认配置项:repl-diskless-load disabled | 说明:是否使用无磁盘加载,有三项: disabled:不要使用无磁盘加载,先将rdb文件存储到磁盘 on-empty-db:只有在完全安全的情况下才使用无磁盘加载 swapdb:解析时在RAM中保留当前db内容的副本,直接从套接字获取数据。 |
repl-ping-replica-period 默认配置项:repl-ping-replica-period 10 | 说明:指定slave定期ping master的周期,默认10秒钟。 |
repl-timeout 默认配置项:repl-timeout 60 | 说明:从服务ping主服务的超时时间,若超过repl-timeout设置的时间,slave就会认为master已经宕了。 |
repl-disable-tcp-nodelay 默认配置项:repl-disable-tcp-nodelay no | 说明:在slave和master同步后(发送psync/sync),后续的同步是否设置成TCP_NODELAY . 假如设置成yes,则redis会合并小的TCP包从而节省带宽,但会增加同步延迟(40ms),造成master与slave数据不一致 假如设置成no,则redis master会立即发送同步数据,没有延迟。 |
repl-backlog-size 默认配置项:repl-backlog-size 1mb | 说明:设置主从复制backlog容量大小。这个 backlog 是一个用来在 slaves 被断开连接时存放 slave 数据的 buffer,所以当一个 slave 想要重新连接,通常不希望全部重新同步,只是部分同步就够了,仅仅传递 slave 在断开连接时丢失的这部分数据。这个值越大,salve 可以断开连接的时间就越长。 |
repl-backlog-ttl 默认配置项:repl-backlog-ttl 3600 | 说明:配置当master和slave失去联系多少秒之后,清空backlog释放空间。当配置成0时,表示永远不清空。 |
replica-priority 默认配置项:replica-priority 100 | 说明:当 master 不能正常工作的时候,Redis Sentinel 会从 slaves 中选出一个新的 master,这个值越小,就越会被优先选中,但是如果是 0 , 那是意味着这个 slave 不可能被选中。 默认优先级为 100。 |
min-replicas-to-write&min-replicas-max-lag 默认配置项: min-replicas-to-write 3 min-replicas-max-lag 10 | 说明:假如主redis发现有超过M个从redis的连接延时大于N秒,那么主redis就停止接受外来的写请求。这是因为从redis一般会每秒钟都向主redis发出PING,而主redis会记录每一个从redis最近一次发来PING的时间点,所以主redis能够了解每一个从redis的运行情况。上面这个例子表示,假如有大于等于3个从redis的连接延迟大于10秒,那么主redis就不再接受外部的写请求。上述两个配置中有一个被置为0,则这个特性将被关闭。默认情况下min-replicas-to-write为0,而min-replicas-max-lag为10。 |
replica-announce-ip&replica-announce-port 默认配置项: replica-announce-ip 5.5.5.5 replica-announce-port 1234 | 说明:常用于端口转发或NAT场景下,对Master暴露真实IP和端口信息。 |
###SECURITY(安全)###(必会) | |
acllog-max-len 默认配置项:acllog-max-len 128 | 说明:ACL日志存储在内存中并消耗内存,设置此项可以设置最大值来回收内存。 |
requirepass 默认配置项:requirepass foobared | 说明:设置Redis连接密码 |
rename-command 默认配置项:rename-command CONFIG " " | 说明:将命令重命名。为了安全考虑,可以将某些重要的、危险的命令重命名。当你把某个命令重命名成空字符串的时候就等于取消了这个命令。 |
###CLIENTS(客户端)###(需记) | |
maxclients 默认配置项:maxclients 10000 | 说明:客户端最大连接数 |
###LAZY FREEING(惰性删除)###(按需) | |
lazyfree-lazy-eviction 默认配置项:lazyfree-lazy-eviction no | 说明:针对redis内存使用达到maxmeory,并设置有淘汰策略时,在被动淘汰键时,是否采用lazy free机制。因为此场景开启lazy free, 可能使用淘汰键的内存释放不及时,导致redis内存超用,超过maxmemory的限制。 |
###APPEND ONLY MODE(追加)###(必会) | |
appendonly 默认配置项:appendonly no | 说明:是否启用aof持久化方式 。即是否在每次更新操作后进行日志记录,默认配置是no,即在采用异步方式把数据写入到磁盘,如果不开启,可能会在断电时导致部分数据丢失。 |
appendfilename 默认配置项:appendfilename “appendonly.aof” | 说明:更新日志文件名,默认为appendonly.aof。 |
appendfsync 默认配置项:appendfsync everysec | 说明:aof文件刷新的频率。有三种: 1.no 依靠OS进行刷新,redis不主动刷新AOF,这样最快,但安全性就差。 2.always 每提交一个修改命令都调用fsync刷新到AOF文件,非常非常慢,但也非常安全。 3.everysec 每秒钟都调用fsync刷新到AOF文件,很快,但可能会丢失一秒以内的数据。 |
no-appendfsync-on-rewrite 默认配置项:no-appendfsync-on-rewrite no | 说明:指定是否在后台aof文件rewrite期间调用fsync,默认为no,表示要调用fsync(无论后台是否有子进程在刷盘)。Redis在后台写RDB文件或重写AOF文件期间会存在大量磁盘IO,此时,在某些linux系统中,调用fsync可能会阻塞。 |
auto-aof-rewrite-percentage 默认配置项:auto-aof-rewrite-percentage 100 | 说明:aof文件增长比例,指当前aof文件比上次重写的增长比例大小。aof重写即在aof文件在一定大小之后,重新将整个内存写到aof文件当中,以反映最新的状态(相当于bgsave)。这样就避免了,aof文件过大而实际内存数据小的问题(频繁修改数据问题)。 |
auto-aof-rewrite-min-size 默认配置项:auto-aof-rewrite-min-size 64mb | 说明:aof文件重写最小的文件大小,即最开始aof文件必须要达到这个文件时才触发,后面的每次重写就不会根据这个变量了(根据上一次重写完成之后的大小).此变量仅初始化启动redis有效.如果是redis恢复时,则lastSize等于初始aof文件大小。 |
aof-load-truncated 默认配置项:aof-load-truncated yes | 说明:指redis在恢复时,会忽略最后一条可能存在问题的指令。默认值yes。即在aof写入时,可能存在指令写错的问题(突然断电,写了一半),这种情况下,yes会log并继续,而no会直接恢复失败。 |
aof-use-rdb-preamble 默认配置项:aof-use-rdb-preamble yes | 说明:在开启了这个功能之后,AOF重写产生的文件将同时包含RDB格式的内容和AOF格式的内容,其中RDB格式的内容用于记录已有的数据,而AOF格式的内存则用于记录最近发生了变化的数据,这样Redis就可以同时兼有RDB持久化和AOF持久化的优点(既能够快速地生成重写文件,也能够在出现问题时,快速地载入数据)。 |
###LUA SCRIPTING(LUA 脚本)###(了解) | |
lua-time-limit 默认配置项:lua-time-limit 5000 | 说明:一个Lua脚本最长的执行时间,单位为毫秒,如果为0或负数表示无限执行时间,默认为5000 |
###REDIS CLUSTER(集群)###(必会) | |
cluster-enabled 默认配置项:cluster-enabled yes | 说明:如果是yes,表示启用集群,否则以单例模式启动 |
cluster-config-file 默认配置项: cluster-config-file nodes-6379.conf | 说明:这不是一个用户可编辑的配置文件,这个文件是Redis集群节点自动持久化每次配置的改变,为了在启动的时候重新读取它。 |
cluster-node-timeout 默认配置项:cluster-node-timeout 15000 | 说明:超时时间,集群节点不可用的最大时间。如果一个master节点不可到达超过了指定时间,则认为它失败了。注意,每一个在指定时间内不能到达大多数master节点的节点将停止接受查询请求。 |
cluster-replica-validity-factor 默认配置项:cluster-replica-validity-factor 10 | 说明:如果设置为0,则一个slave将总是尝试故障转移一个master。如果设置为一个正数,那么最大失去连接的时间是node timeout乘以这个factor。 |
cluster-require-full-coverage 默认配置项:cluster-require-full-coverage yes | 说明:如果设置为yes,这也是默认值,如果key space没有达到百分之多少时停止接受写请求。如果设置为no,将仍然接受查询请求,即使它只是请求部分key。 |
cluster-replica-no-failover 默认配置项:cluster-replica-no-failover no | 说明:此选项设置为yes时,可防止从设备尝试对其进行故障转移master在主故障期间。 然而,仍然可以强制执行手动故障转移。 |
cluster-allow-reads-when-down 默认配置项:cluster-allow-reads-when-down no | 说明:是否允许集群在宕机时读取 |
cluster-migration-barrier 默认配置项:cluster-migration-barrier 1 | 说明:一个master和slave保持连接的最小数量(即:最少与多少个slave保持连接),也就是说至少与其它多少slave保持连接的slave才有资格成为master。 |
cluster-enabled 默认配置项:cluster-enabled yes | 说明:如果是yes,表示启用集群,否则以单例模式启动 |
###SLOW LOG(慢查询日志)### (需记) | |
slowlog-log-slower-than 默认配置项:slowlog-log-slower-than 10000 | 说明:决定要对执行时间大于多少微秒(microsecond,1秒 = 1,000,000 微秒)的查询进行记录。 |
slowlog-max-len 默认配置项:slowlog-max-len 128 | 说明:它决定 slow log 最多能保存多少条日志, slow log 本身是一个 FIFO 队列,当队列大小超过 slowlog-max-len 时,最旧的一条日志将被删除,而最新的一条日志加入到 slow log ,以此类推。 |
###LATENCY MONITOR(延时监控)###(了解) | |
latency-monitor-threshold 默认配置项:latency-monitor-threshold 0 | 说明:能够采样不同的执行路径来知道redis阻塞在哪里。这使得调试各种延时问题变得简单,设置一个毫秒单位的延时阈值来开启延时监控。 |
###ADVANCED CONFIG(高级配置)###(按需) | |
hash-max-ziplist-entries 默认配置项:hash-max-ziplist-entries 512 | 说明:这个参数指的是ziplist中允许存储的最大条目个数,默认为512,建议为128。 |
hash-max-ziplist-value 默认配置项:hash-max-ziplist-value 64 | 说明:ziplist中允许条目value值最大字节数,默认为64,建议为1024。 |
list-max-ziplist-size 默认配置项:list-max-ziplist-size -2 | 说明:ziplist列表最大值,默认存在五项: -5:最大大小:64 Kb <——不建议用于正常工作负载 -4:最大大小:32 Kb <——不推荐 -3:最大大小:16 Kb <——可能不推荐 -2:最大大小:8 Kb<——很好 -1:最大大小:4 Kb <——好 |
list-compress-depth 默认配置项:list-compress-depth 0 | 说明: 一个quicklist两端不被压缩的节点个数。0: 表示都不压缩。这是Redis的默认值,1: 表示quicklist两端各有1个节点不压缩,中间的节点压缩。3: 表示quicklist两端各有3个节点不压缩,中间的节点压缩。 |
set-max-intset-entries 默认配置项:set-max-intset-entries 512 | 说明:当集合中的元素全是整数,且长度不超过set-max-intset-entries(默认为512个)时,redis会选用intset作为内部编码,大于512用set。 |
zset-max-ziplist-entries&zset-max-ziplist-value 默认配置项: zset-max-ziplist-entries 128 zset-max-ziplist-value 64 | 说明:当有序集合的元素小于zset-max-ziplist-entries配置(默认是128个),同时每个元素的值都小于zset-max-ziplist-value(默认是64字节)时,Redis会用ziplist来作为有序集合的内部编码实现,ziplist可以有效的减少内存的使用。 |
hll-sparse-max-bytes 默认配置项:hll-sparse-max-bytes 3000 | 说明:value大小 小于等于hll-sparse-max-bytes使用稀疏数据结构(sparse),大于hll-sparse-max-bytes使用稠密的数据结构(dense)。 |
stream-node-max-bytes&stream-node-max-entries 默认配置项: stream-node-max-bytes 4096 stream-node-max-entries 100 | 说明:Streams单个节点的字节数,以及切换到新节点之前可能包含的最大项目数。 |
activerehashing 默认配置项:activerehashing yes | 说明:主动重新散列每100毫秒CPU时间使用1毫秒,以帮助重新散列主Redis散列表(将顶级键映射到值)。 |
client-output-buffer-limit normal 默认配置项: client-output-buffer-limit normal 0 0 0 | 说明:对客户端输出缓冲进行限制可以强迫那些不从服务器读取数据的客户端断开连接,用来强制关闭传输缓慢的客户端。 |
client-output-buffer-limit replica 默认配置项: client-output-buffer-limit replica 256mb 64mb 60 | 说明:对于slave client和MONITER client,如果client-output-buffer一旦超过256mb,又或者超过64mb持续60秒,那么服务器就会立即断开客户端连接 |
client-output-buffer-limit pubsub 默认配置项: client-output-buffer-limit pubsub 32mb 8mb 60 | 说明:对于pubsub client,如果client-output-buffer一旦超过32mb,又或者超过8mb持续60秒,那么服务器就会立即断开客户端连接。 |
client-query-buffer-limit 默认配置项:client-query-buffer-limit 1gb | 说明:客户端查询缓冲区累积新命令。 默认情况下,它被限制为固定数量,以避免协议失步(例如由于客户端中的错误)将导致查询缓冲区中的未绑定内存使用。 但是,如果您有非常特殊的需求,可以在此配置它,例如我们巨大执行请求。 |
proto-max-bulk-len 默认配置项:proto-max-bulk-len 512mb | 说明:在Redis协议中,批量请求(即表示单个字符串的元素)通常限制为512 MB。 但是,您可以在此更改此限制。 |
hz 默认配置项:hz 10 | 说明:默认情况下,hz设置为10.提高值时,在Redis处于空闲状态下,将使用更多CPU。范围介于1到500之间,大多数用户应使用默认值10,除非仅在需要非常低延迟的环境中将此值提高到100。 |
dynamic-hz 默认配置项:dynamic-hz yes | 说明:启用动态HZ时,实际配置的HZ将用作基线,但是一旦连接了更多客户端,将根据实际需要使用配置的HZ值的倍数。 |
aof-rewrite-incremental-fsync 默认配置项:aof-rewrite-incremental-fsync yes | 说明:当一个子进程重写AOF文件时,如果启用下面的选项,则文件每生成32M数据会被同步。 |
rdb-save-incremental-fsync 默认配置项:rdb-save-incremental-fsync yes | 说明:当redis保存RDB文件时,如果启用了以下选项,则每生成32 MB数据将对文件进行fsync。 这对于以递增方式将文件提交到磁盘并避免大延迟峰值非常有用。 |
###ACTIVE DEFRAGMENTATION(活跃的碎片整理)###(了解) | |
jemalloc-bg-thread 默认配置项:jemalloc-bg-thread yes | 说明:默认情况下,用于清除的Jemalloc后台线程是启用的。 |
继续阅读

我的微信
这是我的微信扫一扫
评论