我想使用redis的集合數據結構來存儲用戶的關注者列表,我如何根據頁面大小做分頁以從列表中獲取記錄?如何對redis的數據結構進行分頁?
1
A
回答
3
除了@Didier Spezia寫的之外,我還會嘗試將關注者存儲在已排序的集合中。
如果您想按名稱命名,請將它們全部存儲爲0分,然後使用ZRANGEBYLEX以詞法形式對它們進行分頁。
如果您希望通過將它們添加爲朋友的順序,請使用添加的時間戳作爲分數,然後使用ZRANGE按時間分頁。哦,另一種選擇是看內存是否與你有關:如果ID是恆定長度的整數,你可以使用一個字符串鍵將它們作爲二進制值存儲在一個數組中,然後用範圍對其進行分頁。它會超快速,並且幾乎沒有內存開銷。看看BITFIELD命令。這可能是一個非常好的用例,但它不包括刪除和查找,所以如果這是一個問題,它不是一個好的選擇。
2
您可以嘗試利用SSCAN命令。確保瞭解SCAN命令的工作原理。
相關問題
- 1. Django對大量數據進行分頁
- 2. 對我的JSON結果進行分頁
- 3. 如何在Python中對此數據結構進行排序?
- 4. 對c結構進行分類
- 5. Redis中的複雜數據結構
- 6. Redis - 處理數據結構的變化
- 7. 複雜的數據結構Redis
- 8. 如何按月份對數據結果進行分組
- 9. 如何根據參數值對查詢結果進行分組
- 10. 我如何在iOS中對解析數據進行分頁
- 11. 如何在JPA中對我的結果查詢進行分頁?
- 12. 如何在Angular 4中對頁面結構/路徑進行Encapsulate?
- 13. 如何設計Redis數據結構以執行類似於redis中數據庫查詢的查詢?
- 14. 如何在matlab數據中對數據對象進行分組
- 15. 如何在redis中完美地使用redis中的五種數據結構
- 16. Nodejs和redis結構化數據
- 17. Redis數據結構空間需求
- 18. 對數據進行分類
- 19. 如何在CakePHP中對結果進行分頁
- 20. 如何在JSP中對整個結果集進行分頁
- 21. 對結構數組進行排序
- 22. 適當的Python數據結構進行實時分析?
- 23. 對閉合表中的子樹進行排序分層數據結構
- 24. 實時分析的Redis結構
- 25. 對複雜的數據結構進行迭代
- 26. 如何在redis中使用可排序數據結構
- 27. 如何對數據結構的內部(組織)進行單元測試?
- 28. 如何從logstash插入鍵值對(不是內部數據結構)到redis
- 29. 如何將redis中的數據結構設置爲另一個數據結構的值
- 30. 用兩個結構變量對結構數組進行排序?
我聽說排序集在消耗內存和處理方面較重,這就是爲什麼我想使用集合,糾正我,如果我錯了。 –
他們有點重,但套也不便宜。有一個配置選項可以優化小型有序集的內存,可以使內存高達80%,看看redis.conf。 –