溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis基礎

發布時間:2020-03-01 06:54:01 來源:網絡 閱讀:220 作者:浮爾魔司 欄目:系統運維


一、進程

<Linux?:?/home/redis13/redis/bin>ps?-ef?|grep?redis-server
redis13???2348?????1??1?Jul18??????????06:57:42?redis-server?192.168.18.85:6388
redis02???3472?????1??3?Jan10??????????7-02:03:45?/home/redis02/redis/bin/redis-server?192.168.18.85:6384????????????????
redis02???4515?????1??4?Jan10??????????8-13:19:32?/home/redis02/redis/bin/redis-server?192.168.18.85:6385????????????????
redis02???5360?????1??3?Jan10??????????6-17:10:42?/home/redis02/redis/bin/redis-server?192.168.18.85:6386????????????????
redis02???6285?????1??3?Jan10??????????6-12:31:38?/home/redis02/redis/bin/redis-server?192.168.18.85:6387


二、啟動命令

./redis-cli?-h?192.168.18.85?-p?6384


三、基礎命令

#查看匹配前綴的keys
keys?"miao*"

#隨機取出一個key
randomkey

#查看key的類型
type?key

#查看數據庫中key的數量
dbsize

#查看服務器信息
info

#查看redis正在做什么
monitor

#查看所有key
keys?*??或??keys?"*"

#清空redis
flushdb

#取key值
get?key


四、Redis 的重要健康指標

【0】慢日志:①、通過命令[slowlog get]得到 Redis 執行的 slowlog 集合,理想情況下slowlog 集合應該為空即沒有任何慢日志。

②、若發現有慢命令,則應該逐個分析是否正常,是否需要優化。

192.168.17.46:6386> slowlog get

?1) 1) (integer) 22

? ? 2) (integer) 1563344158

? ? 3) (integer) 10193

? ? 4) 1) "SET"

? ? ? ?2) "getBatchChapterFiles"

? ? ? ?3) "\x0b\xfa\529:\t489761532B\x02-1J\t48976181... (1293 more bytes)"


【1】存活情況:是最重要的健康指標,通過命令 PING 的響應是否為 PONG 來判斷。

~/redis/bin> ./redis-cli

127.0.0.1:6379> ping

PONG


【2】連接數:①、連接的客戶端數量,[redis-cli info Clients|grep connected_clients] 得到,這個值與使用 Redis 服務的連接池配置關系比較大,這個值如果很大,需要排查問題原因。②、另外還有一個拒絕連接數(rejected_connections)也需要關注,這個值理想狀態是 0 。如果大于 0,說明創建的連接數大于 maxclients,需要排查原因。是 Redis 連接池配合不合理還是連接這個Redis 的服務過多。


【3】阻塞客戶端數量:blocked_clients 通常是執行了 list 數據類型的 BLPOP 或者 BRPOP 命令引起的,可以通過[redis-cli info Clients|grep blocked_clients]得到,這個值最應該=0。


【4】使用內存峰值:①、監控 Redis 內存使用峰值,可以通過命令[config set maxmemory]設置允許使用的最大內存。②、為了防止發生 swap 導致 Redis 性能驟減,甚至由于使用內存超標導致系統kill,建議used_memory_peak(占用內存的峰值)的值與maxmemory 的值有個安全區間,例如1G。


【5】內存碎片率:①、mem_fragmentation_ratio = used_memory_rss/use_memory 當值大于1時,表示分配的內存超過實際使用的內存,數值越大[利用率不高],碎片率越嚴重。當這個值小于1時,表示發生了 swap(Swap分區在系統的物理內存不夠用的時候,把物理內存中的一部分空間釋放出來,以供當前運行的程序使用) ,既可用內存不足。

? ②、Redis4.0 有一個主要的特性就是優化內存碎片率問題(Memory de-fragmentation)。在redis.conf 配置文件中[ACTIVE DEFRAGMENTATION:碎片整理允許 Redis 壓縮內存空間,從而回收內存。此特性默認是關閉的,可以通過命令CONFIG SET activedefrag yes 熱啟動這個特性]。

? ③、當內存使用量(use_memory)很小的時候,這個值參考價值不大。所以建議 used_memory 至少 1G 以上才考慮對內存碎片率進行監控。

??

【6】緩存命中率:①、keyspace_misses/keyspace_hits 這兩個指標用來統計緩存的命中率,keyspace_misses值未命中次數,keyspace_hits 表示命令次數。keyspace_hits/(keyspace_misses+keyspace_hits) 就是緩存命中率。②、如果緩存命中率過低,那么要排查對緩存的用法是否有問題。


【7】OPS:instantaneous_pos_per_sec 表示緩存的OPS(operation per second 每秒操作次數)


【8】持久化:①、rdb_last_bgsave_status/aof_last_bgrewrite_status,即最近一次或者最后一次 RDB/AOF 持久化是否有問題,這兩個值都應該時 “OK”。②、由于 Redis 持久化時會 fork 子進程,且 fork 是一個完全阻塞的過程,所以可以監控 fork 耗時即:latest_fork_usec,單位是微妙,如果這個值比較大會影響業務,甚至出現 timeout 。


【9】失效KEY:如果把 Redis 當緩存使用,那么建議所有的 key 都設置 expire 屬性,通過命令 redis-cli info Keyspace 得到每個 db 中 key 的數量和設置了 expire屬性的 key 的屬性,且 expires(表示設置了超時時間的key個數) 需要等于 keys。





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女