亲宝软件园·资讯

展开

REDIS参数配置和运行状态

从零开始的DBA生活 人气:0

1.参数说明

INCLUDES

include /path/to/local.conf  

## 引入多个配置文件,如果写在主conf 的开头,会被主conf后面的参数覆盖,如果想引入的配置文件覆盖主conf,就把该参数写到末尾

 

NETWORK

bind 192.168.1.100 10.0.0.1
bind 127.0.0.1 ::1

## bind:绑定redis服务器网卡IP,默认为127.0.0.1,即本地回环地址。这样的话,访问redis服务只能通过本机的客户端连接,而无法通过远程连接。如果bind选项为空的话,那会接受所有来自于可用网络接口的连接

 

port 6379

## 指定redis运行的端口,默认是6379

 

timeout 0

## 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接。默认值为0,表示不关闭

 

tcp-keepalive

## 单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300s,如果设置为0,则不会周期性的检测

## timeout 是client多久没发命令就关闭该连接,keepalive是定期检查,检查到client没响应再关闭该连接

 

protected-mode yes

## 是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问

 

tcp-backlog 511

## 此参数确定了队列中已完成TCP连接(完成三次握手)的队列的长度,连接超过这个数就阻塞,当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128,当系统并发量大丙炔客户端速度缓慢的时候,可以将这二个参数一起参考设定

 

daemonize yes

## 是否在后台执行,yes:后台运行;no:不是后台运行

 

supervised no 

## 可以通过upstart和systemd管理Redis守护进程

 

pidfile 

## redis的进程文件,当daemonize yes 才会创建进程文件

 

loglevel

##  指定了服务端日志的级别。级别包括:debug(很多信息,方便开发、测试),verbose(许多有用的信息但是没有debug级别信息多),notice(适当的日志级别,适合生产环境),warn(只有非常重要的信息)

 

logfile 

## 日志文件的存放目录,当为空的时候直接输出

 

database 16

## 数据库的数量,默认使用的数据库是0。可以通过”SELECT 【数据库序号】“命令选择一个数据库,序号从0开始

 

SNAPSHOTTING

##dump RDB的方式有save 和bgsave 下面的内容默认指的是bgsave

## save 是在主进程下执行save操作,因为redis是单线程单进程,所以在执行这个操作的时候会阻塞

## bgsave 是fork一个子进程来执行save操作,所以 Redis 服务器在BGSAVE 执行期间仍然可以继续处理客户端道的请求,但也会阻塞fork的时间

 

# save ""

save 900 1
save 300 10
save 60 10000

## RDB核心规则配置 save <指定时间间隔> <执行指定次数更新操作>,满足条件就将内存中的数据同步到硬盘中,
## 若不想用RDB方案,可以把 save "" 的注释打开

## redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束。阻塞只发生在fork阶段

 

stop-writes-on-bgsave-error yes

## 当RDB持久化出现错误后,是否依然进行继续进行工作,yes:不能进行工作,no:可以继续进行工作

 

rdbcompression yes

## 配置存储至本地数据库时是否压缩数据,默认为yes。Redis采用LZF压缩方式,但占用了一点CPU的时间

 

rdbchecksum yes

## 是否校验rdb文件;从rdb格式的第五个版本开始,在rdb文件的末尾会带上CRC64的校验和。这跟有利于文件的,容错性,但是在保存rdb文件的时候,可能会有大概10%的性能损耗

 

dbfilename dump.rdb

#指定本地数据库文件名,一般采用默认的 dump.rdb

 

dir /usr/local/redis/var

#数据目录,数据库的写入会在这个目录。rdb、aof文件也会写在这个目录

 

REPLICATION

replicaof <masterip> <masterport>

## 复制选项,slave复制对应的master

 

masterauth <master-password>

## 如果master设置了requirepass,那么slave要连上master,需要有master的密码才行。masterauth就是用来配置master的密码,这样可以在连上master后进行认证

 

replica-serve-stale-data yes

## 当从库和主库失去连接或者复制正在进行时

## yes:从库会继续响应客户端的请求

## no: 当有请求来的时候返回一个错误”SYNC with master in progress”

 

replica-read-only yes

## 作为从服务器,默认情况下是只读的(yes),可以修改成NO,用于写(不建议)

 

repl-diskless-sync no

## 是否使用socket方式复制数据。目前redis复制提供两种方式,disk和socket如果新的slave连上来或者重连的slave无法部分同步,就会执行全量同步,master会生成rdb文件

## disk方式是master创建一个新的进程把rdb文件保存到磁盘,再把磁盘上的rdb文件传递给slave

## socket是master创建一个新的进程,直接把rdb文件以socket的方式发给slave

## disk方式的时候,当一个rdb保存的过程中,多个slave都能共享这个rdb文件。socket的方式就的一个个slave顺序复制

 

repl-diskless-sync-delay 5

##diskless复制的延迟时间,防止设置为0。一旦复制开始,节点不会再接收新slave的复制请求直到下一个rdb传输,最好等待一段时间,等更多的slave连上来

 

repl-ping-slave-period 10

## slave根据指定的时间间隔向服务器发送ping请求

 

repl-timeout 60

## 复制连接超时时间。master和slave都有超时时间的设置

a) slave角度,如果在repl-timeout时间内没有收到master SYNC传输的rdb snapshot数据,
b) slave角度,在repl-timeout没有收到master发送的数据包或者ping。
c) master角度,在repl-timeout时间没有收到REPCONF ACK确认信息

 

repl-disable-tcp-nodelay no

## yes: 禁止tcp nodelay设置,在把数据复制给slave的时候,会减少包的数量和更小的网络带宽

## no :  默认我们推荐更小的延迟,但是在数据量传输很大的场景下,建议选择yes

 

repl-backlog-size 1mb 

## 复制缓冲区大小,这是一个环形复制缓冲区,用来保存最新复制的命令,这样在slave离线的时候,不需要完全复制master的数据,如果可以执行部分同步,只需要把缓冲区的部分数据复制给slave,就能恢复正常复制状态。缓冲区的大小越大,slave离线的时间可以更长,复制缓冲区只有在有slave连接的时候才分配内存,没有slave的时候会被释放

 

repl-backlog-ttl 3600

## master没有slave一段时间会释放复制缓冲区的内存,repl-backlog-ttl用来设置该时间长度。单位为秒

 

slave-priority 100

## 当master不可用,Sentinel会根据slave的优先级选举一个master。最低的优先级的slave,当选master,而配置成0,永远不会被选举

 

min-slaves-to-write 3

## redis提供了可以让master停止写入的方式,如果配置了min-replicas-to-write,健康的slave的个数小于N,mater就禁止写入。master最少得有多少个健康的slave存活才能执行写命令。这个配置虽然不能保证N个slave都一定能接收到master的写操作,但是能避免没有足够健康的slave的时候,master不能写入来避免数据丢失。设置为0是关闭该功能

 

min-slaves-max-lag 10

## 延迟小于min-replicas-max-lag秒的slave才认为是健康的slave 单位秒 ,1和0都是关闭这个功能

 

SECURITY

requirepass foobared 

## requirepass配置可以让用户使用AUTH命令来认证密码,才能使用其他命令,使用requirepass的时候需要注意,因为redis太快了,每秒可以认证15w次密码,简单的密码很容易被攻破

 

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

## 把危险的命令给修改成其他名称。比如CONFIG命令可以重命名为一个很难被猜到的命令,这样用户不能使用,内部工具还能接着使用

 

rename-command CONFIG ""

## 设置成一个空的值,可以禁止一个命令

 

CLIENT

MAXCLIENTS 10000

## 设置能连上redis的最大客户端连接数量。默认是10000个客户端连接,不区分连接是客户端连接还是内部打开文件或者和slave连接等,如果超过了maxclients,redis会给新的连接发送’max number of clients reached’,并关闭连接

 

MEMORY MANAGEMENT

maxmemory <bytes>

## redis配置的最大内存容量。当内存满了,需要配合maxmemory-policy策略进行处理

volatile-lru

## 利用LRU算法移除设置过过期时间的key。
volatile-random

## 随机移除设置过过期时间的key。
volatile-ttl

## 移除即将过期的key,根据最近过期时间来删除(辅以TTL)
allkeys-lru

## 利用LRU算法移除任何key。
allkeys-random

## 随机移除任何key。
noeviction

## 不移除任何key,只是返回一个写错误

maxmemory-policy noeviction

## 上面的这些驱逐策略,如果redis没有合适的key驱逐,对于写命令,还是会返回错误。redis将不再接收写请求,只接收get请求

maxmemory-samples 5

 ## lru检测的样本数。使用lru或者ttl淘汰算法,从需要淘汰的列表中随机选择sample个key,选出闲置时间最长的key移除

Tips:

REDIS的LFU:按策略采样 N 个 key(max-memory-samples) 最近最少使用,跟使用的次数有关,淘汰使用次数最少的。 ---volatile从设置了过期时间的key中抽样,allkeys从所有key中抽样

REDIS的LRU:按策略采样 N 个 key(max-memory-samples) 的访问时间,离现在最久的,淘汰  ---volatile从设置了过期时间的key中抽样,allkeys从所有key中抽样

这些内存驱逐策略只在内存超过max-memory的情况发生

过期的键的清除是按照惰性删除 + 定期删除删除实现

惰性删除:当访问到该过期key时,再删除

定期删除: hz 参数控制,表示执行后台任务的频率,默认为10,此值越大表示redis对"间歇性task"的执行次数越频繁(次数/秒)。"间歇性task"包括"过期集合"检测、关闭"空闲超时"的连接等,不是全部设置了过期时间的键都检查,只是抽样检查

 

LAZY FREEING

lazyfree-lazy-eviction no

lazyfree-lazy-expire no

 lazyfree-lazy-server-del no

replica-lazy-flush no

## 以非阻塞方式释放内存

 

APPEND ONLY MODE

appendonly no

## 默认不开启。它的出现是为了弥补RDB的不足(数据的不一致性),所以它采用日志的形式来记录每个写操作,并追加到文件中。Redis 重启的会根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作

## Append Only File是另一种持久化方式,可以提供更好的持久化特性。Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件,每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。

 

appendfsync always

## 默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,会导致可能有几分钟的数据丢失,根据save来策略进行持久化

## 表示每次写入都执行fsync,以保证数据同步到磁盘

 

appendfilename "appendonly.aof"

## 默认文件名

 

appendfsync everysec

## 表示每秒执行一次fsync,可能会导致丢失这1s数据

 

appendfsync no

## 不执行fsync,由操作系统保证数据同步到磁盘,速度最快

## aof 持久化策略的配置

 

no-appendfsync-on-rewrite no

## 在aof重写或者写入rdb文件的时候,会执行大量IO,此时对于everysec和always的aof模式来说,执行fsync会造成阻塞过长时间,如果对延迟要求很高的应用,这个字段可以设置为yes,否则还是设置为no,这样对持久化特性来说这是更安全的选择,设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入,linux默认fsync策略是30秒。可能丢失30秒数据

 

auto-aof-rewrite-percentage 10

## aof自动重写配置。当目前aof文件大小超过上一次重写的aof文件大小的百分之多少进行重写,即当aof文件增长到一定大小的时候Redis能够调用bgrewriteaof对日志文件进行重写.当前AOF文件大小是上次日志重写到AOF文件大小的二倍(设置为100)时,自动启动新的日志重写过程

 

auto-aof-rewrite-min-size 64mb

## 设置允许重写的最小aof文件大小,避免了达到约定百分比但尺寸仍然很小的情况还要重写

 

aof-load-truncated yes

## aof文件可能在尾部是不完整的,当redis启动的时候,aof文件的数据被载入内存(redis宕机或者异常终止不会造成尾部不完整现象。)

## 如果aof load truncated设置为yes,则加载截断的aof文件,Redis服务器开始发出一个日志来通知用户事件

## 如果将该选项设置为“否”,则服务器将因错误而中止拒绝开始。当选项设置为“否”时,用户需要在重新启动之前使用“redis check AOF”实用程序修复AOF文件

 

aof-use-rdb-preamble yes

## 加载redis时同时加载RDB文件

 

LUA SCRIPTING

lua-time-limit 5000

如果达到最大时间限制(毫秒),redis会记个log,然后返回error。当一个脚本超过了最大时限。只有SCRIPT KILL和SHUTDOWN NOSAVE可以用,第一个可以杀没有调write命令的东西。要是已经调用了write,只能用第二个命令杀

 

REDIS CLUSTER

cluster-enabled yes

## 集群开关,默认不打开集群

 

cluster-config-file nodes-6379.conf

## 集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息。这个文件并不需要手动配置,这个配置文件有Redis生成并更新,每个Redis集群节点需要一个单独的配置文件,请确保与实例运行的系统中配置文件名称不冲突

 

cluster-node-timeout 15000

## 节点互连超时的阀值。集群节点超时毫秒数

 

 

cluster-slave-validity-factor 10
## 在进行故障转移的时候,全部slave都会请求申请为master,但是有些slave可能与master断开连接一段时间了,导致数据过于陈旧,这样的slave不应该被提升为master。该参数就是用来判断slave节点与master断线的时间是否过长,设置为0表示不开启
## (node-timeout * slave-validity-factor) + repl-ping-slave-period,值超过31秒就不使用该slave进行故障迁移

 

 

cluster-migration-barrier 1
## master的slave数量大于该值,slave才能迁移到其他孤立master上,如这个参数若被设为2,那么只有当一个主节点拥有2 个可工作的从节点时,它的一个从节点会尝试迁移

 

cluster-require-full-coverage yes

## 默认情况下,集群全部的slot有节点负责,集群状态才为ok,才能提供服务。设置为no,可以在slot没有全部分配的时候提供服务

 

CLUSTER DOCKER/NAT support

cluster-announce-ip
cluster-announce-port
cluster-announce-bus-port

##如果配置了以后,Redis节点会将配置中的这些IP和PORT告知客户端或其他节点。而这些IP和PORT是通过Docker转发到容器内的临时IP和PORT的

 

SLOW LOG

slowlog-log-slower-than 10000

##执行时间比slowlog-log-slower-than大的请求记录到slowlog里面,单位是微秒,所以1000000就是1秒,负数时间会禁用慢查询日志,而0则会强制记录所有命令

 

slowlog-max-len 128

## 慢查询日志长度。当一个新的命令被写进日志的时候,最老的那个记录会被删掉。这个长度没有限制。只要有足够的内存就行。你可以通过 SLOWLOG RESET 来释放内存

 

LATENCY MONITOR

latency-monitor-threshold 0

##延迟监控功能是用来监控redis中执行比较缓慢的一些操作,用LATENCY打印redis实例在跑命令时的耗时图表,只记录大于等于下边设置的值的操作。0的话,就是关闭监视,可以通过CONFIG SET命令动态设置

 

EVENT NOTIFICATION

notify-keyspace-events ""

# K   键空间通知,所有通知以 __keyspace@__ 为前缀
# E   键事件通知,所有通知以 __keyevent@__ 为前缀
# g   DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知
# $   字符串命令的通知
# l    列表命令的通知
# s   集合命令的通知
# h   哈希命令的通知
# z   有序集合命令的通知
# x   过期事件:每当有过期键被删除时发送
# e   驱逐(evict)事件:每当有键因为 maxmemory 政策而被删除时发送
# A   参数 g$lshzxe 的别名

#输入的参数中至少要有一个 K 或者 E,否则的话,不管其余的参数是什么,都不会有任何 通知被分发

 

ADVANCED CONFIG

hash-max-ziplist-entries 512

## 数据量小于等于hash-max-ziplist-entries的用ziplist,大于hash-max-ziplist-entries用hash

 

hash-max-ziplist-value 64

## value大小小于等于hash-max-ziplist-value的用ziplist,大于hash-max-ziplist-value用hash

 

list-max-ziplist-size -2

# -5: max size: 64 Kb <-- not recommended for normal workloads
# -4: max size: 32 Kb <-- not recommended
# -3: max size: 16 Kb <-- probably not recommended
# -2: max size: 8 Kb <-- good
# -1: max size: 4 Kb <-- good

 

list-compress-depth 0

#0:禁用所有列表压缩

#1:深度1表示“在列表中的1个节点之后才开始压缩

#2这里的意思是:不要压缩头部和头部->下一个和尾部->上一个和尾部,但压缩其他节点

 

set-max-intset-entries 512

##  数据量小于等于set-max-intset-entries用iniset,大于set-max-intset-entries用set

 

zset-max-ziplist-entries 128

## 数据量小于等于zset-max-ziplist-entries用ziplist,大于zset-max-ziplist-entries用zset

 

zset-max-ziplist-value 64

## value大小小于等于zset-max-ziplist-value用ziplist,大于zset-max-ziplist-value用zset

 

hll-sparse-max-bytes 3000

## value大小小于等于hll-sparse-max-bytes使用稀疏数据结构(sparse),大于hll-sparse-max-bytes使用稠密的数据结构(dense),对空间要求较高的,建议设置到10000左右

 

activerehashing yes

## Redis将在每100毫秒时使用1毫秒的CPU时间来对redis的hash表进行重新hash,可以降低内存的使用,不能够接受Redis时不时的对请求有2毫秒的延迟的话,把这项配置为no。如果没有这么严格的实时性要求,可以设置为yes,以便能够尽可能快的释放内存

 

client-output-buffer-limit normal 0 0 0

## 对于normal client,第一个0表示取消hard limit,第二个0和第三个0表示取消soft limit,normalclient默认取消限制

 

client-output-buffer-limit replica 256mb 64mb 60

## 对于slave client和MONITER client,如果client-output-buffer一旦超过256mb,又或者超过64mb持续60秒,那么服务器断开客户端连接

 

client-output-buffer-limit pubsub 32mb 8mb 60

## 对于订阅发布系统,如果client-output-buffer一旦超过32mb,又或者超过8mb持续60秒,那么服务器立刻断开连接

 

client-query-buffer-limit 1gb

## 这是客户端查询的缓存极限值大小

 

proto-max-bulk-len 512mb

## 在Redis协议中,批量请求,即表示单个字符串通常限制为512 mb

 

hz 10 redis执行任务的频率为1s除以hz

## 值越大,请求延迟越小,但CPU使用的越多,通常1~100 ,最大值可以设置到500

 

aof-rewrite-incremental-fsync yes

## 在aof重写的时候,如果打开了aof-rewrite-incremental-fsync开关,系统会每32MB执行一次fsync

 

ACTIVE DEFRAGMENTATION

activedefrag yes 

## 开启自动内存碎片整理

 

active-defrag-ignore-bytes 100mb

## 启动活动碎片整理的最小碎片浪费量

 

active-defrag-threshold-lower 10

## 启动活动碎片整理的最小碎片百分比

 

active-defrag-threshold-upper 100

## 启动活动碎片整理的最大碎片百分比

 

active-defrag-cycle-min 25

## 内存自动整理占用资源最小百分比

 

active-defrag-cycle-max 75

## 内存自动整理占用资源最大百分比

 

2.运行状态

redis-cli 连接 执行info命令

# Server

redis_version:4.0.14    ## redis版本
redis_git_sha1:00000000   ## Git sha1
redis_git_dirty:0    ## Git dirty flag
redis_build_id:7edfa22c6960c1cf   ##  redis build id
redis_mode:standalone    ## redis 运行模式
os:Linux 2.6.32-504.23.4.el6.x86_64 x86_64   ##服务器宿主操作系统
arch_bits:64    ##  操作系统位数
multiplexing_api:epoll   ## 网络多路复用的事件处理机制
atomicvar_api:sync-builtin   ## redis使用的GNU Compiler Collection编译器
gcc_version:4.4.7     ## 编译redis时所使用的gcc版本
process_id:30495    ## redis运行时的pid
run_id:c446ff82334b5bfc9309d510043baddf0852e964   ## redis服务器的随机标识符(用于sentinel和集群)
tcp_port:6379     ## redis 的运行端口
uptime_in_seconds:6    ## redis服务器启动的总时间(启动了多久) ,秒
uptime_in_days:0       ## redis服务器启动总时间,单位是天
hz:10     ## Redis调用内部函数来执行许多后台任务的频率为每秒10次
lru_clock:10322279   ## 以分钟为单位进行自增的时钟,用于LRU管理
executable:/root/redis-server  ##redis-server路径
config_file:/apps/conf/redis/redis.conf    ## #配置文件路径

# Clients

connected_clients:1   ##已连接客户端的数量(不包括通过从服务器连接的客户端)
client_longest_output_list:0   ## 当前的客户端连接中,最长的输出列表
client_biggest_input_buf:0   ## 当前连接的客户端中,最大的输入缓存
blocked_clients:0   ## 正在等待阻塞命令(BLOP、BRPOP、BRPOPLPUSH)的客户端的数量

# Memory

used_memory:849488    ## 已经使用的内存大小,以字节(byte)为单位
used_memory_human:829.58K   ## 已经使用的内存,就是你缓存的数据的大小。
used_memory_rss:7802880    ## 从操作系统的角度,表示redis物理内存的大小,即向OS申请了多少内存)。这个值和 top 、 ps等命令的输出一致
used_memory_rss_human:7.44M     ##  从操作系统的角度,以可读的形式返回 Redis 已分配的内存总量
used_memory_peak:849488     ## redis的内存消耗峰值(以字节为单位) 
used_memory_peak_human:829.58K    ##   以可读的形式显示内存消耗峰值
used_memory_peak_perc:100.12%    ## (used_memory/ used_memory_peak) *100%
used_memory_overhead:836262    ## Redis为了维护数据集的内部机制所需的内存开销,包括所有客户端输出缓冲区、查询缓冲区、AOF重写缓冲区和主从复制的backlog
used_memory_startup:786624   ## Redis服务器启动时消耗的内存
used_memory_dataset:13226    ##用户数据占用的内存 used_memory-used_memory_overhead
used_memory_dataset_perc:21.04%    ## 100%*(used_memory_dataset/(used_memory—used_memory_startup))
total_system_memory:4018548736    ## 整个系统内存
total_system_memory_human:3.74G    ## 以可读的格式,显示整个系统内存
used_memory_lua:37888     ## Lua脚本存储占用的内存
used_memory_lua_human:37.00K    ## 以可读的格式,显示Lua脚本存储占用的内存
maxmemory:0    ## Redis实例的最大内存配置
maxmemory_human:0B   ##  以可读的格式,,显示Redis实例的最大内存配置
maxmemory_policy:noeviction   ## 当达到maxmemory时的淘汰策略
mem_fragmentation_ratio:9.18   ## used_memory_rss/ used_memory
mem_allocator:jemalloc-4.0.3    ## 内存分配器
active_defrag_running:0    ##  表示没有活动的defrag任务正在运行,1表示有活动的defrag任务正在运行
lazyfree_pending_objects:0    ## 0表示不存在延迟释放的挂起对象

## 内存碎片计算 used_memory_rss(向os申请的内容) -  used_memory(已经使用的内存)

# Persistence 记录了RDB持久化和AOF持久化有关的信息

loading:0   ## 一个标志值,记录了服务器是否正在载入持久化文件
rdb_changes_since_last_save:0   ## 距离最后一次成功创建持久化快照之后,改变了多少个键值
rdb_bgsave_in_progress:0     ## 一个标志值,记录服务器是否正在创建RDB文件
rdb_last_save_time:1587380577  ## 最近一次成功创建RDB文件的UNIX时间戳
rdb_last_bgsave_status:ok      ## 一个标志值,记录了最后一次创建RDB文件的结果是成功还是失败
rdb_last_bgsave_time_sec:-1   ## 记录最后一次创建RDB文件耗费的秒数
rdb_current_bgsave_time_sec:-1  ##如果服务器正在创建RDB文件,那么这个值记录的就是当前的创建RDB操作已经耗费了多长时间(单位为秒)
rdb_last_cow_size:0    ##  RDB过程中父进程与子进程相比执行了多少修改(包括读缓冲区,写缓冲区,数据修改等)
aof_enabled:0    ## 是否允许aof持久化
aof_rewrite_in_progress:0   ## 标识aof的rewrite操作是否在进行中
aof_rewrite_scheduled:0    ## rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务,待aof子进程结束后执行rewrite
aof_last_rewrite_time_sec:-1   ## 最近一次aof rewrite耗费的时长
aof_current_rewrite_time_sec:-1  ##如果rewrite操作正在进行,则记录所使用的时间,单位秒
aof_last_bgrewrite_status:ok  ##  上次bgrewriteaof操作的状态
aof_last_write_status:ok   ## 上次aof写入状态
aof_last_cow_size:0  ## AOF过程中父进程与子进程相比执行了多少修改(包括读缓冲区,写缓冲区,数据修改等)

# Stats

total_connections_received:1   ##新创建连接个数,如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题
total_commands_processed:1   ## redis处理的命令数
instantaneous_ops_per_sec:0   ## redis当前的qps,redis内部较实时的每秒执行的命令数
total_net_input_bytes:31     ##  redis网络入口流量字节数
total_net_output_bytes:10163    ##  redis网络出口流量字节数
instantaneous_input_kbps:0.00   ## redis网络入口kps
instantaneous_output_kbps:0.00   ## redis网络出口kps
rejected_connections:0    ## 拒绝的连接个数
sync_full:0   ## 主从完全同步成功次数
sync_partial_ok:0   ## 主从部分同步成功次数
sync_partial_err:0   ##  主从部分同步失败次数
expired_keys:0   ##  因为过期而被自动删除的数据库键数量
expired_stale_perc:0.00   ## 过期的比率
expired_time_cap_reached_count:0   ## 过期计数
evicted_keys:0    ## 运行以来剔除(超过了maxmemory后)的key的数量
keyspace_hits:0   ##  查找数据库键成功的次数
keyspace_misses:0   ##查找数据库键失败的次数
pubsub_channels:0  ## #目前被订阅的频道数量
pubsub_patterns:0   ## 目前被订阅的模式数量
latest_fork_usec:0   ##最近一次fork操作阻塞redis进程的耗时数,单位微秒
migrate_cached_sockets:0    ## 是否已经缓存了到该地址的连接
slave_expires_tracked_keys:0   ##从实例过期key数量
active_defrag_hits:0    ## 主动碎片整理命中次数
active_defrag_misses:0    ## 主动碎片整理未命中次数
active_defrag_key_hits:0  ## 主动碎片整理key命中次数  
active_defrag_key_misses:0  ## 主动碎片整理key未命中次数

# Replication

role:master     ## 实例的角色,是master or slave
connected_slaves:0    ## 连接的slave实例个数
master_replid:9040f8257744249939cff02d0818e279b97d0b87    ##主实例启动随机字符串
master_replid2:0000000000000000000000000000000000000000    ## 主实例启动随机字符串2
master_repl_offset:0    ## 主从同步偏移量,
second_repl_offset:-1   ## 记录切换主从后的偏移量
repl_backlog_active:0   ## 复制积压缓冲区是否开启
repl_backlog_size:1048576   ##复制积压缓冲大小
repl_backlog_first_byte_offset:0   ## 复制缓冲区里偏移量的大小
repl_backlog_histlen:0   ## 等于 master_repl_offset - repl_backlog_first_byte_offset,该值不会超过repl_backlog_size的大小

 

# CPU

used_cpu_sys:0.00    ## 将所有redis主进程在核心态所占用的CPU时求和累计起来
used_cpu_user:0.00    ## 将所有redis主进程在用户态所占用的CPU时求和累计起来
used_cpu_sys_children:0.00    ## 将后台进程在核心态所占用的CPU时求和累计起来
used_cpu_user_children:0.00    ## 将后台进程在用户态所占用的CPU时求和累计起来

# Cluster

cluster_enabled:0    ##  实例是否启用集群模式,0为未启用

加载全部内容

相关教程
猜你喜欢
用户评论