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