1. 程式人生 > >Redis 的 5 個常見應用場景

Redis 的 5 個常見應用場景

sub bsp 性能 請求 有序集合 問題 nbsp 服務器端 sql

前言
Redis 是一個強大的內存型存儲,具有豐富的數據結構,使其可以應用於很多方面,包括作為數據庫、緩存、消息隊列等等。

如果你的印象中Redis只是一個 key-value 存儲,那就錯過了Redis很多強大的功能,下面就是實際應用場景中5個最普遍的案例。

1. 全頁面緩存
如果你使用的是服務器端內容渲染,你又不想為每個請求重新渲染每個頁面,就可以使用 Redis 把常被請求的內容緩存起來,能夠大大的降低頁面請求的延遲,已經有很多框架用Redis來緩存頁面,這就是頁面靜態化的一種方式。

2. 排行榜
Redis 基於內存,可以非常快速高效的處理增加和減少的操作,相比於使用 SQL 請求的處理方式,性能的提升是非常巨大的。

Redis 的有序集合可以輕松實現“從一個大型列表中取得排名最高的N個元素”,毫秒級,而且非常簡單。

3. Session 存儲
這可能是應用最廣的點了,相比較於類似 memcache 的 session 存儲,Redis 具有緩存數據持久化的能力,當緩存因出現問題而重啟後,之前的緩存數據還在那兒,這個就比較實用,避免了因為session突然消失帶來的用戶體驗問題。

4. 隊列
例如 email 的發送隊列、等待被其他應用消費的數據隊列,Redis 可以輕松而自然的創建出一個高效的隊列。

5. 發布/訂閱
pub/sub 是 Redis 內置的一個非常強大的特性,例如可以創建一個實時的聊天系統、社交網絡中的通知觸發器等等。



Redis 的 5 個常見應用場景