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 的恢復速度要快。緩存