redis-cli info 信息详解


redis-cli info命令中各数值含义

# Server
redis_version:3.2.0 #redis 版本
redis_git_sha1:00000000 #sha1 一种加密算法
redis_git_dirty:0   #dirty被污染的,脏数据
redis_build_id:85def9ed04ebeee4
redis_mode:cluster #运行模式(standalone,cluster)
os:Linux 3.0.13-0.27-default x86_64 #运行系统内核版本
arch_bits:64 #字长
multiplexing_api:epoll #Redis使用的事件处理机制
gcc_version:4.3.4 #编译Redis时所使用的GCC版本
process_id:26327 #Redis进程PID
run_id:e833bf79e98daa5b5917c510b4d9f056cfc5059c #Redis服务器的编号(用于集群)
tcp_port:7001 #监听的端口
uptime_in_seconds:587882 #已运行秒数
uptime_in_days:6 #已运行天数
hz:10 #用于执行后台任务的函数被调用的频率
lru_clock:10570417 #用于LRU管理的计时器,单位为分钟
executable:/home/rediscluster/7001/redis/./bin/redis-server #bin文件位置
config_file:/home/rediscluster/7001/redis/./config/redis.conf #配置文件位置

# Clients
connected_clients:1 #连接的客户端数
client_longest_output_list:0 #当前客户端连接中最长的输出列表
client_biggest_input_buf:0 #当前客户端连接中最大的输入缓存
blocked_clients:0 #阻塞的客户端数

# Memory
used_memory:2421816 #消耗的内存
used_memory_human:2.31M
used_memory_rss:3973120 #操作系统分配给Redis的内存
used_memory_rss_human:3.79M
used_memory_peak:2421816 #内存消耗的峰值
used_memory_peak_human:2.31M
total_system_memory:8250241024 #系统总内存
total_system_memory_human:7.68G
used_memory_lua:37888 #Lua脚本消耗的内存
used_memory_lua_human:37.00K
maxmemory:0 #内存使用限制
maxmemory_human:0B
maxmemory_policy:noeviction #超出内存限制时的行为(不淘汰)
mem_fragmentation_ratio:1.64 #内存碎片率(=used_memory_rss/used_memory)
mem_allocator:jemalloc-4.0.3 #内存分配器

# Persistence 持久化
loading:0 #是否正在载入持久化文件
rdb_changes_since_last_save:0 #上次持久化以来修改的键值数
rdb_bgsave_in_progress:0 #是否正在后台保存RDB文件
rdb_last_save_time:1469670746 #上次RDB持久化的时间戳
rdb_last_bgsave_status:ok #上次RDB持久化的结果
rdb_last_bgsave_time_sec:0 #上次创建RDB文件消耗的秒数
rdb_current_bgsave_time_sec:-1 #如果正在创建RDB文件,记录已经消耗了多少时间
aof_enabled:1 #是否启用AOF持久化
aof_rewrite_in_progress:0 #是否正在重写AOF文件
aof_rewrite_scheduled:0 #是否将要重写AOF文件
aof_last_rewrite_time_sec:-1 #上次AOF重写消耗的时间
aof_current_rewrite_time_sec:-1 #当前AOF重写已消耗的时间
aof_last_bgrewrite_status:ok #上次重写AOF文件的结果
aof_last_write_status:ok #上次写入AOF文件的结果
aof_current_size:54 #当前AOF文件的大小
aof_base_size:0 #上一个AOF文件的大小
aof_pending_rewrite:0 #是否有AOF重写操作在等待RDB文件的创建
aof_buffer_length:0 #AOF写入缓冲区大小
aof_rewrite_buffer_length:0 #AOF重写缓冲区大小
aof_pending_bio_fsync:0 #正在I/O队列中等待的fsync()的数量
aof_delayed_fsync:0 #被延迟执行的fsync()的数量

# Stats
total_connections_received:9 #服务器已接受的连接请求数
total_commands_processed:586729 #服务器已经执行的命令数量
instantaneous_ops_per_sec:1 #当前每秒执行的命令数量
total_net_input_bytes:22855989 #接受的数据包总大小
total_net_output_bytes:849760 #发送的数据包总大小
instantaneous_input_kbps:0.05 #当前下行速率
instantaneous_output_kbps:0.01 #当前上行速率
rejected_connections:0 #被拒绝的连接请求数
sync_full:1 #主从同步状态
sync_partial_ok:0       #[ˈpɑːrʃl 不完全的
sync_partial_err:0
expired_keys:0 #过期的键数
evicted_keys:0 #因内存达到上限被剔除的键数  [ɪˈvɪktɪd]
keyspace_hits:0 #命中key的次数
keyspace_misses:0 #未命中的次数
pubsub_channels:0 #当前被订阅的频道 [ˈtʃænlz]
pubsub_patterns:0  #[ˈpætərnz]当前被订阅的模式,或表达式
latest_fork_usec:640 #最后一次fork()消耗的毫秒数
migrate_cached_sockets:0 #为节点迁移缓存的TCP连接数

# Replication 复制
role:master #主节点还是从节点
connected_slaves:1 #已连接的从节点数
slave0:ip=127.0.0.1,port=7004,state=online,offset=821435,lag=1 #从节点信息 ip 端口 数据新度等
master_repl_offset:821435 #主节点数据偏移量
repl_backlog_active:1 #是否为主从同步启用积压空间
repl_backlog_size:1048576 #积压空间大小
repl_backlog_first_byte_offset:2 #积压空间开头的数据新度
repl_backlog_histlen:821434 #积压空间当前数据量

# CPU
used_cpu_sys:255.39 #核心态CPU时间
used_cpu_user:257.42 #用户态CPU时间
used_cpu_sys_children:0.00 #子进程核心态CPU时间
used_cpu_user_children:0.00 #子进程用户态CPU时间

# Cluster
cluster_enabled:1 #是否启用集群

# Keyspace
db0:keys=1,expires=0,avg_ttl=0 #各数据库的键数、过期键数、数据库中键的平均过期时间戳估测值

###################################################################################

  • LRU过期淘汰策略

这种策略是适用于当Redis存储内存值接近或者超过maxmemory参数(maxmemory_policy)设置时就会触发LRU策略。当Redis发生这种情况的时候系统提供了几种策略:

1. noeviction:拒绝写请求,正常提供读请求,这样可以保证已有数据不会丢失(默认策略);
2. volatile-lru:尝试淘汰设置了过期时间的key,虽少使用的key被淘汰,没有设置过期时间的key不会淘汰;
3. volatile-ttl:跟volatile-lru几乎一样,但是他是使用的key的ttl值进行比较,最先淘汰ttl最小的key;
4. volatile-random:其他同上,唯一就是他通过很随意的方式随机选择淘汰key集合中的key;
5. allkeys-lru:区别于volatile-lru的地方就是淘汰目标是全部key,没设置过期时间的key也不能幸免;
6. allkeys-random:这种方式同上,随机的淘汰所有的key。

##############################################################################################################
redis 持久化
redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)
    1. Redis 默认开启RDB持久化方式,在指定的时间间隔内,执行指定次数的写操作,则将内存中的数据写入到磁盘中。
    2. RDB 持久化适合大规模的数据恢复但它的数据一致性和完整性较差
    3. Redis 需要手动开启AOF持久化方式,默认是每秒将写操作日志追加到AOF文件中。
    4. AOF 的数据完整性比RDB高,但记录内容多了,会影响数据恢复的效率
    5. Redis 针对 AOF文件大的问题,提供重写的瘦身机制。
    6. 若只打算用Redis 做缓存,可以关闭持久化。
    7. 若打算使用Redis 的持久化。建议RDB和AOF都开启。其实RDB更适合做数据的备份,留一后手。AOF出问题了,还有RDB。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM