REDIS 分頁緩存的實現


 

 

 

 

1、基於列表的分頁緩存實現

    以下內容轉載自 NoSQL數據庫入門與實踐(基於MongoDB、Redis)  劉瑜  劉勝松

分頁緩存的背景

 

 分頁緩存的使用需求

 

 

 

 

 

 總結

   1、REDIS的LIST內部是一個列表,所以在追加和獲取數據上效率很高為O(1),但是其它操作的效率是O(N),而LRANGE的效率是O(S + N),因此LIST雖然可以依靠的LRANGE和列表序號實現分頁查詢,但是效率不高。

   2、LIndex可以用於獲取列表內的元素,但是一次只能獲取一個元素(不從列表刪除對應內容);LRANGE一次則可以獲取多個元素(不從列表刪除對應內容);因此當隊列內容過多時,可以用於debug調試,查看內部數據的詳細情況。

   3、使用列表做索引,還有一個很大好處,就是數據結構簡單。如果使用ZSET做分頁查詢,確實可以做大分頁查看,但是ZSET本身有其限制的地方,導致如果查詢內容不是KEY-SCORE類型,則另外還需要一個結構,以便實現查詢。

 

2、基於ZSET的分頁緩存實現

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM