【高级篇】Redis6.X服务端info+config实战和key淘汰算法

DBC 1.6K 0

Redis6.x服务端配置 info命令介绍-生产监控知识

info命令介绍——服务器的各种信息和统计数值

Server:有关redis服务器的常规信息
redis_mode:standalone # 运行模式,单机或者集群
multiplexing_api:epoll # redis所使用的事件处理机制
run_id:3abd26c33dfd059e87a0279defc4c96c13962ede # redis服务器的随机标识符(用于sentinel和集群)
config_file:/usr/local/redis/conf/redis.conf # 配置文件路径

Clients:客户端连接部分
connected_clients:10 # 已连接客户端的数量(不包括通过slave连接的客户端)

Memory:内存消耗相关信息
used_memory:874152 # 使用内存,以字节(byte)B为单位
used_memory_human:853.66K # 以人类可读的格式返回 Redis 分配的内存总量
used_memory_rss:2834432 # 系统给redis分配的内存即常驻内存,和top 、 ps 等命令的输出一致
used_memory_rss_human:2.70M # 以人类可读的格式返回系统redis分配的常驻内存top、ps等命令的输出一致
used_memory_peak:934040 # 内存使用的峰值大小
used_memory_peak_human:912.15K

total_system_memory:1039048704 # 操作系统的总内存 ,以字节(byte)为单位
total_system_memory_human:990.91M
used_memory_lua:37888 # lua引擎使用的内存
used_memory_lua_human:37.00K

maxmemory:0 # 最大内存的配置值,0是不限制
maxmemory_human:0B
maxmemory_policy:noeviction # 达到最大内存配置值后的策略

Persistence:RDB和AOF相关信息
rdb_bgsave_in_progress:0 # 标识rdb save是否进行中
rdb_last_bgsave_status:ok # 上次的save操作状态
rdb_last_bgsave_status:ok # 上次的save操作状态
rdb_last_bgsave_time_sec:-1 # 上次rdb save操作使用的时间(单位s)
rdb_current_bgsave_time_sec:-1 # 如果rdb save操作正在进行,则是所使用的时间

aof_enabled:1 # 是否开启aof,默认没开启
aof_rewrite_in_progress:0 # 标识aof的rewrite操作是否在进行中
aof_last_rewrite_time_sec:-1 # 上次rewrite操作使用的时间(单位s)
aof_current_rewrite_time_sec:-1 # 如果rewrite操作正在进行,则记录所使用的时间
aof_last_bgrewrite_status:ok # 上次rewrite操作的状态
aof_current_size:0 # aof当前大小


Stats:一般统计
evicted_keys:0 # 因为内存大小限制,而被驱逐出去的键的个数


Replication:主从同步信息
role:master # 角色
connected_slaves:1 # 连接的从库数
master_sync_in_progress:0 # 标识主redis正在同步到从redis


CPU:CPU消耗统计

Cluster:集群部分
cluster_enabled:0 # 实例是否启用集群模式

Keyspace:数据库相关统计
db0:keys=4,expires=0,avg_ttl=0 # db0的key的数量,带有生存期的key的数,平均存活时间

Redis6.x服务端配置config命令介绍

config命令介绍(都有默认值)

  • 可以动态地调整 Redis 服务器的配置(configuration)而无须重启
  • config get xxx、config set xxx
常用配置
daemonize  #后端运行
bind #ip绑定
timeout  #客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接
​
databases #设置数据库的个数,可以使用 SELECT 命令来切换数据库。默认使用的数据库是 0
save  #设置 Redis 进行rdb持久化数据库镜像的频率。
rdbcompression #在进行镜像备份时,是否进行压缩
​
slaveof #设置该数据库为其他数据库的从数据库
masterauth  #当主数据库连接需要密码验证时,在这里配置
​
maxclients  #限制同时连接的客户数量,当连接数超过这个值时,redis 将不再接收其他连接请求,返回error
​
maxmemory  #设置 redis 能够使用的最大内存,
  • maxmemory #设置 redis 能够使用的最大内存,
  • 备注
    • 防止所用内存超过服务器物理内存, maxmemory限制的是Redis实际使用的内存量, 也就是used_memory统计项对应的内存
    • 由于内存碎片率的存在, 实际消耗的内存可能会比maxmemory设置的更大, 实际使用时要小心这部分内存溢出
    • 默认无限使用服务器内存, 为防止极端情况下导致系统内存耗尽, 建议所有的Redis进程都要配置maxmemory
    • 在64bit系统下,maxmemory设置为0表示不限制Redis内存使用,在32bit系统下,maxmemory不能超过3GB

 

  • 注意:
    • redis在占用的内存超过指定的maxmemory之后,通过maxmemory_policy确定redis是否释放内存以及如何释放内存

发表评论 取消回复
表情 图片 链接 代码

分享