Python入門系列之列表
阿新 • • 發佈:2020-08-06
1.info命令
#檢視redis相關資訊 127.0.0.1:6379> info #服務端資訊 # Server #版本號 redis_version:3.2.12 #redis版本控制安全hash演算法 redis_git_sha1:00000000 #redis版本控制髒資料 redis_git_dirty:0 #redis建立id redis_build_id:3b947b91b7c31389 #執行模式:單機(如果是叢集:cluster) redis_mode:standalone #redis所在宿主機的作業系統 os:Linux 2.6.32-431.el6.x86_64 x86_64 #架構(64位) arch_bits:64 #redis事件迴圈機制 multiplexing_api:epoll #GCC的版本 gcc_version:4.4.7 #redis程序的pid process_id:33007 #redis伺服器的隨機識別符號(用於sentinel和叢集) run_id:46b07234cf763cab04d1b31433b94e31b68c6e26 #redis的埠 tcp_port:6379 #redis伺服器的執行時間(單位秒) uptime_in_seconds:318283 #redis伺服器的執行時間(單位天) uptime_in_days:3 #redis內部排程(進行關閉timeout的客戶端,刪除過期key等等)頻率,程式規定serverCron每秒執行10次 hz:10 #自增的時鐘,用於LRU管理,該時鐘100ms(hz=10,因此每1000ms/10=100ms執行一次定時任務)更新一次 lru_clock:13601047 #服務端執行命令路徑 executable:/application/redis-3.2.12/redis-server #配置檔案路徑 config_file:/etc/redis/6379/redis.conf #客戶端資訊 # Clients #已連線客戶端的數量(不包括通過slave的數量) connected_clients:2 ##當前連線的客戶端當中,最長的輸出列表,用client list命令觀察omem欄位最大值 client_longest_output_list:0 #當前連線的客戶端當中,最大輸入快取,用client list命令觀察qbuf和qbuf-free兩個欄位最大值 client_biggest_input_buf:0 #正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客戶端的數量 blocked_clients:0 #記憶體資訊 # Memory #由redis分配器分配的記憶體總量,以位元組為單位 used_memory:845336 #以人類可讀的格式返回redis分配的記憶體總量 used_memory_human:825.52K #從作業系統的角度,返回redis已分配的記憶體總量(俗稱常駐集大小)。這個值和top命令的輸出一致 used_memory_rss:1654784 #以人類可讀方式,返回redis已分配的記憶體總量 used_memory_rss_human:1.58M #redis的記憶體消耗峰值(以位元組為單位) used_memory_peak:845336 #以人類可讀的格式返回redis的記憶體消耗峰值 used_memory_peak_human:825.52K #整個系統記憶體 total_system_memory:1028517888 #以人類可讀的格式,顯示整個系統記憶體 total_system_memory_human:980.87M #Lua指令碼儲存佔用的記憶體 used_memory_lua:37888 #以人類可讀的格式,顯示Lua指令碼儲存佔用的記憶體 used_memory_lua_human:37.00K #Redis例項的最大記憶體配置 maxmemory:0 #以人類可讀的格式,顯示Redis例項的最大記憶體配置 maxmemory_human:0B #當達到maxmemory時的淘汰策略 maxmemory_policy:noeviction #記憶體分裂比例(used_memory_rss/ used_memory) mem_fragmentation_ratio:1.96 #記憶體分配器 mem_allocator:jemalloc-4.0.3 #持久化資訊 # Persistence #伺服器是否正在載入持久化檔案 loading:0 #離最近一次成功生成rdb檔案,寫入命令的個數,即有多少個寫入命令沒有持久化 rdb_changes_since_last_save:131 #伺服器是否正在建立rdb檔案 rdb_bgsave_in_progress:0 #最近一次rdb持久化儲存時間 rdb_last_save_time:1540009420 #最近一次rdb持久化是否成功 rdb_last_bgsave_status:ok #最近一次成功生成rdb檔案耗時秒數 rdb_last_bgsave_time_sec:-1 #如果伺服器正在建立rdb檔案,那麼這個域記錄的就是當前的建立操作已經耗費的秒數 rdb_current_bgsave_time_sec:-1 #是否開啟了aof aof_enabled:0 #標識aof的rewrite操作是否在進行中 aof_rewrite_in_progress:0 #rewrite任務計劃,當客戶端傳送bgrewriteaof指令,如果當前rewrite子程序正在執行,那麼將客戶端請求的bgrewriteaof變為計劃任務,待aof子程序結束後執行rewrite aof_rewrite_scheduled:0 #最近一次aof rewrite耗費的時長 aof_last_rewrite_time_sec:-1 #如果rewrite操作正在進行,則記錄所使用的時間,單位秒 aof_current_rewrite_time_sec:-1 #上次bgrewriteaof操作的狀態 aof_last_bgrewrite_status:ok #上次aof寫入狀態 aof_last_write_status:ok #統計資訊 # Stats #新建立連線個數,如果新建立連線過多,過度地建立和銷燬連線對效能有影響,說明短連線嚴重或連線池使用有問題,需調研程式碼的連線設定 total_connections_received:19 #redis處理的命令數 total_commands_processed:299 #redis當前的qps,redis內部較實時的每秒執行的命令數 instantaneous_ops_per_sec:0 #redis網路入口流量位元組數 total_net_input_bytes:10773 #redis網路出口流量位元組數 total_net_output_bytes:97146 #redis網路入口kps instantaneous_input_kbps:0.00 #redis網路出口kps instantaneous_output_kbps:0.00 #拒絕的連線個數,redis連線個數達到maxclients限制,拒絕新連線的個數 rejected_connections:0 #主從完全同步次數 sync_full:0 #主從完全同步成功次數 sync_partial_ok:0 #主從完全同步失敗次數 sync_partial_err:0 #執行以來過期的key的數量 expired_keys:5 #過期的比率 evicted_keys:0 #命中次數 keyspace_hits:85 #沒命中次數 keyspace_misses:17 #當前使用中的頻道數量 pubsub_channels:0 #當前使用的模式的數量 pubsub_patterns:0 #最近一次fork操作阻塞redis程序的耗時數,單位微秒 latest_fork_usec:0 #是否已經快取了到該地址的連線 migrate_cached_sockets:0 #主從複製資訊 # Replication #角色主庫 role:master #連線slave的個數 connected_slaves:0 #主從同步偏移量,此值如果和上面的offset相同說明主從一致沒延遲,與master_replid可被用來標識主例項複製流中的位置 master_repl_offset:0 #複製積壓緩衝區是否開啟 repl_backlog_active:0 #複製積壓緩衝大小 repl_backlog_size:1048576 #複製緩衝區裡偏移量的大小 repl_backlog_first_byte_offset:0 #此值等於 master_repl_offset - repl_backlog_first_byte_offset,該值不會超過repl_backlog_size的大小 repl_backlog_histlen:0 #CPU資訊 # CPU #將所有redis主程序在核心態所佔用的CPU時求和累計起來 used_cpu_sys:203.44 #將所有redis主程序在使用者態所佔用的CPU時求和累計起來 used_cpu_user:114.57 #將後臺程序在核心態所佔用的CPU時求和累計起來 used_cpu_sys_children:0.00 #將後臺程序在使用者態所佔用的CPU時求和累計起來 used_cpu_user_children:0.00 #叢集資訊 # Cluster #例項是否啟用叢集模式 cluster_enabled:0 #庫相關統計資訊 # Keyspace #db0的key的數量,以及帶有生存期的key的數,平均存活時間 db0:keys=17,expires=0,avg_ttl=0 #單獨檢視某一個資訊(例:檢視CPU資訊) 127.0.0.1:6379> info cpu # CPU used_cpu_sys:203.45 used_cpu_user:114.58 used_cpu_sys_children:0.00 used_cpu_user_children:0.00
2.client命令
127.0.0.1:6379> CLIENT LIST id=2 addr=127.0.0.1:38988 fd=7 name= age=86036 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client id=4 addr=127.0.0.1:38992 fd=8 name= age=52 idle=52 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=command
3.config命令
#檢視redis所有的配置
127.0.0.1:6379> CONFIG GET *
1) "dbfilename"
2) "dump.rdb"
3) "requirepass"
4) ""
.......
4.dbsize命令
#檢視當前redis有多少資料
127.0.0.1:6379> DBSIZE
(integer) 18
5.select命令
在Redis中也是有庫這個概念的,不過不同於MySQL,Redis的庫是預設的,並不是我們手動去建立的,在Redis中一共有16(0-15)個庫。在MySQL中進入某一個庫,我們需要使用use dbname,在Redis中,只需要select即可。預設情況下,我們是在0庫中進行操作,每個庫之間都是隔離的。 #切換1庫 127.0.0.1:6379> select 1 OK #檢視1庫資料 127.0.0.1:6379[1]> DBSIZE (integer) 0
6.flush命令(flushdb、flushall)
1.flushdb(清空當前庫)
127.0.0.1:6379[1]> keys *
1) "k2"
2) "k1"
127.0.0.1:6379[1]> FLUSHDB
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
2.flushall(清空所有庫資料)
127.0.0.1:6379[1]> FLUSHALL
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> keys *
(empty list or set)
7.monitor命令
#視窗1執行
127.0.0.1:6379> MONITOR
OK
#視窗2執行命令
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> del k1
(integer) 1
#視窗1檢視
1596591822.059876 [0 127.0.0.1:38988] "set" "k1" "v1"
1596591827.003306 [0 127.0.0.1:38988] "set" "k2" "v2"
1596591830.524161 [0 127.0.0.1:38988] "set" "k3" "v3"
1596591833.501550 [0 127.0.0.1:38988] "del" "k1"
#將監控的內容寫到檔案方法(類似於MySQL的一般查詢日誌)
[root@db01 ~]# redis-cli MONITOR >> /tmp/caozuo.log &
[1] 15333
[root@db01 ~]# tail -f /tmp/caozuo.log