Redis 是一個強大的內存型存儲,具備豐富的數據結構,使其能夠應用於不少方面,包括做爲數據庫、緩存、消息隊列等等。數據庫
若是你的印象中Redis只是一個 key-value 存儲,那就錯過了Redis不少強大的功能,下面就是實際應用場景中5個最廣泛的案例。緩存
若是你使用的是服務器端內容渲染,你又不想爲每一個請求從新渲染每一個頁面,就可使用 Redis 把常被請求的內容緩存起來,可以大大的下降頁面請求的延遲,已經有不少框架用Redis來緩存頁面,這就是頁面靜態化的一種方式。性能優化
Redis 基於內存,能夠很是快速高效的處理增長和減小的操做,相比於使用 SQL 請求的處理方式,性能的提高是很是巨大的。服務器
Redis 的有序集合能夠輕鬆實現「從一個大型列表中取得排名最高的N個元素」,毫秒級,並且很是簡單。微信
這多是應用最廣的點了,相比較於相似 memcache 的 session 存儲,Redis 具備緩存數據持久化的能力,當緩存因出現問題而重啓後,以前的緩存數據還在那兒,這個就比較實用,避免了由於session忽然消失帶來的用戶體驗問題。網絡
例如 email 的發送隊列、等待被其餘應用消費的數據隊列,Redis 能夠輕鬆而天然的建立出一個高效的隊列。session
pub/sub 是 Redis 內置的一個很是強大的特性,例如能夠建立一個實時的聊天系統、社交網絡中的通知觸發器等等。數據結構
在此我向你們推薦一個架構學習交流羣。交流學習羣號:478030634 裏面會分享一些資深架構師錄製的視頻錄像:有Spring,MyBatis,Netty源碼分析,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化、分佈式架構等這些成爲架構師必備的知識體系。還能領取免費的學習資源,目前受益良多架構
這5個小用例只是Redis的很表層的功能,但願能爲你帶來一點靈感。併發
注:關注做者微信公衆號,瞭解更多分佈式架構、微服務、netty、等知識點。公衆號:《Java爛豬皮》