1. redis的幾種資料結構
redistemplate 實現
private void fivebasicdatatype()
2. 快取雪崩
現象:在原快取失效,新快取尚未到達的期間,由於使用了相同過期時間策略,快取資料在同一時間失效,所有原本應該查詢快取的請求在該時間去查資料庫,給資料庫的cpu和記憶體造成了巨大的壓力。從而使資料庫宕機,
解決:
[1] 均勻分布。快取資料根據key,採用不同的時間策略(比如加上隨機數生成的幾秒鐘),使之不在同一時間失效。3. 快取穿透[2] 熔斷機制。訪問qps達到一定級別後自動熔斷。
現象:訪問乙個redis和資料庫均不存在的key值。每次請求該key值後,都會先走redis,再走資料庫,進行無效查詢。
解決:
[1] 布隆過濾。將redis的所有key值統一放在乙個map,查詢時先查詢map有無此值,沒有該值則直接返回空。4. 快取擊穿[2] 快取空值。資料庫中查詢key對應value不存在後,將空值快取起來,下次查詢直接查詢redis返回空值。
現象: 單一key快取在某一時間點過期,而未被更新時,被超高併發地訪問。大併發的請求瞬間把db壓垮。
解決:
[1] 失效後使用互斥鎖加鎖重新整理,僅有第乙個查詢達到資料庫,執行快取更新後釋放鎖;其他未拿到鎖的等待50ms後繼續查詢快取。5. 分布式鎖,分布式鎖的原子性
利用redis的setnx set if not exist
[1] 單例項下的實現。使用 key + value + requestid 去獲取鎖,獲取成功,執行成功後,根據 key + requestid 釋放鎖。requestid6. 實現原理,一致性hash[問題] 加鎖的時間。過長:業務執行完,釋放鎖失敗,需要redis自動釋放,其他執行緒阻塞。過短:業務執行超時,鎖提前釋放,下乙個執行緒進來,造成資料不一致;迴圈後,多個執行緒同事進來,失去了鎖的效果。
[解決] 設定乙個差不多的時間,同時啟動乙個守護執行緒。在業務**仍在執行期間,自動延長鎖的超時時間。
8. redis的單執行緒優缺點
[優點] 複雜資料結構修改前提下,不需要考慮鎖的開銷。不需要考慮執行緒上下文切換執行緒的開銷。9. redis訊息佇列[缺點] 無法發揮多核cpu的高效能。
redis 可以用來做訊息佇列。但是大家更喜歡用mq或者kfaka。10. redis集群方式,redis高可用
redis的三種集群方式11 業務場景性質問題[1]主從複製。一主多從,主寫從讀。主從定時同步資料。
[2]哨兵模式。主從模式之外,哨兵定時檢測主機狀態,確認主機不能提供服務後,手動切換主機。
[3]分布式部署,無中心模式。應用一致性hash,不同的key均勻儲存到不同的伺服器節點。
獲取**商品排行榜,如果用redis提高效能,你會如何去做
[1] 使用redis有序列表,快取排序資料用redis,設計秒殺系統
[2] 快取熱點資料。庫存
redis熱點問題
請求分片集中,超過單 server 的效能極限。在服務端讀資料進行訪問時,往往會對資料進行分片切分,此過程中會在某一主機 server 上對相應的 key 進行訪問,當訪問超過 server 極限時,就會導致熱點 key 問題的產生。需要避免失效那一刻大量請求同時去重新構建快取。因為重新構建快取,需...
Redis熱點問題以及如何發現熱點
這個商品不錯,大家來看啊 每個平台都有會有些大賣的商品,簡稱為爆品。這些商品會有個特點,就是訪問量特別大。我們專業上面可以稱之為熱點資料,在處理這些熱點商品時,系統需要做一些特殊的處理。針對熱點商品這些型別的資料,要考慮到訪問量比較大,大家首先想到的是快取,上redis快取,這點肯定沒有錯。系統框架...
公司法考試重點名詞解釋
第一章 1 公司法 公司法是規定各種公司的設立 組織活動和解散以及其他與公司組織有關的對內對外關係的法律規範的總稱。3 公司是依照公司法律規定組織 成立和從事活動的 以營利為目的且兼顧社會利益具有法人資格的企業。4 對公司權利能力的限制 經營範圍的限制 轉投資的限制 發行債券的限制 作保證人的限制。...