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