基本數據結構
消息隊列:生產者通過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入門教程欄目。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦