首頁 >資料庫 >Redis >redis快取中間件基礎知識介紹

redis快取中間件基礎知識介紹

尚
轉載
2020-04-14 09:32:082622瀏覽

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知識請關注redis入門教學欄位。

以上是redis快取中間件基礎知識介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除