redis的五種數據結構及其緩存


一、

1)value其實不僅可以是String,也可以是數字。
常規key-value緩存應用; 常規計數:微博數,粉絲數等。

2)hash特別適合用於存儲對象。
可以使你像在數據庫中 Update 一個屬性一樣只修改某一項屬性值。


3)list list就是鏈表,
比如微博的關注列表,粉絲列表,做分頁
Redis list的實現為一個雙向鏈表,即可以支持反向查找和遍歷

 4)set特殊之處在於set是可以自動排重的。

 5)Sortedset 使得集合中的元素能夠按score進行有序排列。
直播時排行信息包含直播間在線用戶列表,
各種禮物排行榜

二、
緩存穿透:一般的緩存系統,都是按照key去緩存查詢,
如果不存在對應的value,就應該去后端系統查找
如果key對應的value是一定不存在的,並且對該key並發請求量很大,
就會對后端系統造成很大的壓力。這就叫做緩存穿透
解決方案:將一定存在的key或者一定不存在的key 放入一個大的數據查詢的地方 然后查詢時可以起到過濾效果

緩存雪崩:就是當重啟服務器或者大量緩存數據集中在某個節點失效 會對后端產生很大壓力
解決方案:添加節點 盡量錯開緩存時間

 

三、redis的aof和rdb的區別.
RDB方式是通過快照方式完成的 持久化
定時生成 RDB 快照非常便於進行數據庫備份  建議使用 為了安全兩種都要使用
RDB 是一個非常緊湊(compact)的文件,它保存了 Redis 在某個時間點上的數據集
AOF持久化以日志的形式記錄服務器所處理的每一個寫、刪除操作,查詢操作不會記錄,以文本的方式記錄,可以打開文件看到詳細的操作記錄。
對於相同數量的數據集而言,AOF文件通常要大於RDB文件。RDB 在恢復大數據集時的速度比 AOF 的恢復速度要快。


免責聲明!

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



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