Redis面試題(五)

  1. Redis集羣方案應該怎麼做?都有哪些方案?
    答:
    twemproxy,大概概念是,它類似於一個代理方式,使用方法和普通redis無任何區別,設置好它下屬的多個redis實例後,使用時在本需要連接redis的地方改爲連接twemproxy,它會以一個代理的身份接收請求並使用一致性hash算法,將請求轉接到具體redis,將結果再返回twemproxy。使用方式簡便(相對redis只需修改連接端口),對舊項目擴展的首選。 缺點:twemproxy自身單端口實例的壓力,使用一致性hash後,對redis節點數量改變時候的計算值的改變,數據無法自動移動到新的節點。
    codis,目前用的最多的集羣方案,基本和twemproxy一致的效果,但它支持在節點數量改變情況下,舊節點數據可恢復到新hash節點。
    redis cluster3.0自帶的集羣,特點在於他的分佈式算法不是一致性hash,而是hash槽的概念,以及自身支持節點設置從節點。
    在業務代碼層實現,啓動幾個毫無關聯的redis實例,在代碼層,對key進行hash計算,然後去對應的redis實例操作數據。 這種方式對hash層代碼要求比較高,考慮部分包括,節點失效後的替代算法方案,數據震盪後的自動腳本恢復,實例的監控,等等。
  2. Redis集羣會有寫操作丟失嗎?
    答:Redis沒法保證數據的強一致性,所以Redis集羣在某些情況下會丟失寫操作。
  3. Redis集羣最大節點個數是多少?
    答:哈希槽數目最大是16384,所以Redis集羣最大節點個數也只能到16384。
  4. Redis集羣如何選擇數據庫?
    答:Redis集羣目前無法做數據庫選擇,所以默認在0數據庫。
  5. Redis集羣之間是如何複製的?
    答:異步複製,因此會有少量丟數據的危險。
  6. Redis集羣的主從複製模型是怎樣的?
    答:爲了使在部分節點失敗或者大部分節點無法通信的情況下集羣仍然可用,所以集羣使用了主從複製模型,每個節點都會有N-1個複製品。
  7. 說說什麼是TPS?
    答:TPS是指每秒鐘最大能處理的請求數。
  8. 說說什麼是QPS?
    答:應用系統每秒鐘最大能接受的用戶訪問量。
  9. Redis回收進程如何工作的?
    答:當有新數據添加入Redis時,Redis會檢查內存的使用情況,同時如果內存大於maxmemory的限制,就會按照設置好的淘汰策略進行回收。
  10. Redis回收使用的是什麼算法?
    答:LRU算法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章