這篇文章主要介紹了redis緩存中間件的知識,具有一定借鑒價值,需要的朋友可以參考下。下面就和我一起來了解一下redis緩存中間件吧。
基本數據結構
String:普通的set和get,做簡單的KV緩存、計數器和共享用戶session。
Hash:類似Map,一般存儲結構化的數據(簡單的對象),Hash的應用場景比較單一(現在的對象內部也嵌套一堆對象不適合Hash)。
List:有序列表(插入時的順序)
消息隊列:生產者通過Lpush,多個消費者使用BRpop阻塞的“搶”列表尾部的數據。
文章列表數據分頁展示:通過lrange命令,讀取某個閉區間內的元素,比如微博向下滑動刷新出頁面。
Set:無序集合,自動去重,使用set進行交集,并集,差集的操作。比如兩個人的共同好友。
StoredSet:帶排序的Set
Bit-Map 實現的BloomFilter:布隆過濾器,可以用來判斷數據庫中是否存在這個信息。
持久化
RDB:鏡像全量持久化,持久化耗費較長時間,恢復數據速度快,不夠實時
AOF:增量持久化,每一秒或者每一次操作就在AOF文件末尾追加上操作代碼,恢復數據時間慢。
如果中途斷電會怎么樣
取決于AOF日志sync屬性的配置,如果不追求性能,每條寫指令時都sync一下磁盤,就不會丟失數據。一般都使用定時sync,比如1s1次,這個時候最多就會丟失1s數據
RDB原理
fork和cow,fork是指redis通過創建子進程進行RDB操作,cow是指copy on write,子進程創建后,父子進程共享數據段,父進程繼續提供讀寫服務,寫臟的頁面數據會逐漸和子進程離開來。
Pipeline有什么好處,為什么用
可以將多次IO往返的時間縮減為一次,前提是pipeline執行的指令之間沒有因果關系,使用redis-banchmark進行壓測的時候可以發現影響redis的QPS峰值的一個重要因素是pipeline批次指令的數目。
以上就是redis緩存中間件知識的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。