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

1、redis

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

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


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

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

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

2、
緩存穿透:通常的緩存系統,都是按照key去緩存查詢,
若是不存在對應的value,就應該去後端系統查找
若是key對應的value是必定不存在的,而且對該key併發請求量很大,
就會對後端系統形成很大的壓力。這就叫作緩存穿透
解決方案:將必定存在的key或者必定不存在的key 放入一個大的數據查詢的地方 而後查詢時能夠起到過濾效果

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

 

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

相關文章
相關標籤/搜索