您好,登錄后才能下訂單哦!
本篇內容主要講解“Redis的高級特性”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Redis的高級特性”吧!
緩存系統:用于緩解數據庫的高并發壓力
計數器:使用Redis原子操作,用于社交網絡的轉發數,評論數,粉絲數,關注數等
排行榜:使用zset數據結構,進行排行榜計算
實時系統:使用Redis位圖的功能實現布隆過濾器,進而實現垃圾郵件處理系統
消息隊列:使用list數據結構,消息發布者push數據,多個消息訂閱者通過阻塞線程pop數據,以此提供簡單的消息隊列能力
之所以說簡單,是因為Redis官方不提供可靠消費/發布的機制;需要自行實現故障轉移、隊列持久化、隊列監控和流量控制等mq具備的功能
慢查詢只記錄Redis在處理存儲的時間計數(圖中的3步驟),并不包含網絡通信時間和排隊時間,所以客戶端超時分析時要綜合每個因素。
注意:
慢查詢保存數量參數不要設置過小,同時最好能定期持久化慢查詢記錄,方便歷史問題排查。
pipline用于異步處理大量Redis請求。
注意:
大量任務需要劃分出多個pipline進行操作(否則,網絡和等待時間都承受壓力)。
pipline每次只能作用在一個Redis節點上。
M操作(mget,mset類似的指令)相比pipline,前者是原子操作,后者并不是。Redis會把一個攜帶很多命令的pipeline拆分成幾個子命令。
Redis 發布訂閱(pub/sub)是一種消息通信模式:發送者(pub)發送消息,訂閱者(sub)接收消息。
注意:
Redis無法做消息堆積(新訂閱者無法獲取歷史訂閱消息)
字符串big
對應的二進制(ASCII碼)如圖所示, bitmap可以直接操控位。使用每個數位代表一個用戶或者狀態,相比int數據結構保存,節省了32倍的內存空間。
注意:
bitmap并不是適合所有場景去替換常規的數據存儲
bit是string類型,最大只能存512MB
注意setbit函數會自動補位,所以生產環境要注意setbit的偏移量,可能會造成較大的耗時
基于HyperLogLog算法,實現用極小空間完成獨立數量的統計,類型本質是string。
注意:
無法保證數據完全正確。官網說明錯誤率為0.81%
無法取到單條數據
GEO(地理信息定位)是Redis3.2版本發布的功能,存儲經緯度,計算兩地距離,范圍計算等,類型本質是zset。
Redis哨兵是Redis2.8版本發布的功能,解決Redis集群的故障轉移等痛點,支持高可用。
Redis集群是Redis3.0版本發布的功能,支持分布式
到此,相信大家對“Redis的高級特性”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。