JAVA面試題(35)

    本文首發於cartoon的博客
    轉載請註明出處:cartoonyu.github.io/cartoon-blo…java

  • Redis 爲何是單線程的?
  • 什麼是緩存穿透?怎麼解決?
    • 參考地址
    • 緩存穿透
      • 緩存是key命中時數據寫入內存的
      • 緩存穿透是指利用不存在key進行緩存查詢,當緩存不存在此key則到數據庫查詢,當請求量級比較大時,數據庫有可能宕機
    • 解決方法
      • 在某些特定場景使用驗證碼
      • 布隆過濾法
        • 利用多種HASH算法對數據標識位進行緩存
  • Redis 支持的數據類型有哪些?
    • string
      • 字符串
    • hash
      • 散列
    • list
      • 列表
      • 內部使用雙向鏈表實現
      • 訪問端元素較快,經過索引訪問較慢
    • set
      • 無序集合
      • 內部經過value爲null的散列表實現
    • zset
      • 有序集合
  • Redis 支持的 Java 客戶端都有哪些?
    • 參考博客
    • Jedis
      • 優勢
        • 輕量簡潔
        • 支持鏈接池
        • 支持pipelining、事務、LUA Scripting、Redis Sentinel、Redis Cluster
      • 缺點
        • 不支持讀寫分離
        • 文檔支持不足
    • Redisson
      • 官方推薦
      • 優勢
        • 採用非阻塞IO
        • 支持異步請求
        • 支持鏈接池
        • 支持pipelining、LUA Scripting、Redis Sentinel、Redis Cluster
        • 支持讀寫分離以及讀負載平衡
        • 可與Spring Session集成
        • 文檔支持充足
    • lettuce
      • 優勢
        • 線程安全
        • 支持異步請求
        • 採用非阻塞IO
        • 支持哨兵模式
        • 支持集羣
相關文章
相關標籤/搜索