Redis最常用的使用場景

FH-Admin發表於2021-12-21

1、計數器

可以對 String 進行自增自減運算,從而實現計數器功能。

Redis 這種記憶體型資料庫的讀寫效能非常高,很適合儲存頻繁讀寫的計數量。

2、快取

將熱點資料放到記憶體中,設定記憶體的最大使用量以及淘汰策略來保證快取的命中率。

3、會話快取

可以使用 Redis 來統一儲存多臺應用伺服器的會話資訊。

當應用伺服器不再儲存使用者的會話資訊,也就不再具有狀態,一個使用者可以請求任意一個應用伺服器,從而更容易實現高可用性以及可伸縮性。

4、全頁快取(FPC)

除基本的會話token之外,Redis還提供很簡便的FPC平臺。

以Magento為例,Magento提供一個外掛來使用Redis作為全頁快取後端。(java專案大全 fhadmin.cn)此外,對WordPress的使用者來說,Pantheon有一個非常好的外掛 wp-redis,這個外掛能幫助你以最快速度載入你曾瀏覽過的頁面。

5、查詢表

例如 DNS 記錄就很適合使用 Redis 進行儲存。

查詢表和快取類似,也是利用了 Redis 快速的查詢特性。但是查詢表的內容不能失效,而快取的內容可以失效,因為快取不作為可靠的資料來源。

6、訊息佇列(釋出/訂閱功能)

List 是一個雙向連結串列,可以通過 lpush 和 rpop 寫入和讀取訊息

不過最好使用 Kafka、RabbitMQ 等訊息中介軟體。

7、分散式鎖實現

在分散式場景下,無法使用單機環境下的鎖來對多個節點上的程式進行同步。

可以使用 Redis 自帶的 SETNX 命令實現分散式鎖,除此之外,還可以使用官方提供的 RedLock 分散式鎖實現。

8、其它

Set 可以實現交集、並集等操作,從而實現共同好友等功能。

ZSet 可以實現有序性操作,從而實現排行榜等功能。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章