本文首發於cartoon的博客
轉載請註明出處:cartoonyu.github.io/cartoon-blo…java
- Redis 爲何是單線程的?
- 參考博客戶
- Redis是基於內存的,瓶頸一般是內存大小以及帶寬,與CPU沒有太大聯繫
- 什麼是緩存穿透?怎麼解決?
- 參考地址
- 緩存穿透
- 緩存是key命中時數據寫入內存的
- 緩存穿透是指利用不存在key進行緩存查詢,當緩存不存在此key則到數據庫查詢,當請求量級比較大時,數據庫有可能宕機
- 解決方法
- 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
- 支持哨兵模式
- 支持集羣