Redis使用場景
相關視頻教程(來自動力節點):https://www.bilibili.com/video/BV1Uz4y1X72A
相關資料下載:http://www.bjpowernode.com/?cnblogs
1、計數器
可以對 String 進行自增自減運算,從而實現計數器功能。
Redis 這種內存型數據庫的讀寫性能非常高,很適合存儲頻繁讀寫的計數量。
2、緩存
將熱點數據放到內存中,設置內存的最大使用量以及淘汰策略來保證緩存的命中率。
3、會話緩存
可以使用 Redis 來統一存儲多台應用服務器的會話信息。
當應用服務器不再存儲用戶的會話信息,也就不再具有狀態,一個用戶可以請求任意一個應用服務器,從而更容易實現高可用性以及可伸縮性。
4、全頁緩存(FPC)
除基本的會話token之外,Redis還提供很簡便的FPC平台。
以Magento為例,Magento提供一個插件來使用Redis作為全頁緩存后端。此外,對WordPress的用戶來說,Pantheon有一個非常好的插件 wp-redis,這個插件能幫助你以最快速度加載你曾瀏覽過的頁面。
5、查找表
例如 DNS 記錄就很適合使用 Redis 進行存儲。
查找表和緩存類似,也是利用了 Redis 快速的查找特性。但是查找表的內容不能失效,而緩存的內容可以失效,因為緩存不作為可靠的數據來源。
6、消息隊列(發布/訂閱功能)
List 是一個雙向鏈表,可以通過 lpush 和 rpop 寫入和讀取消息
不過最好使用 Kafka、RabbitMQ 等消息中間件。
7、分布式鎖實現
在分布式場景下,無法使用單機環境下的鎖來對多個節點上的進程進行同步。
可以使用 Redis 自帶的 SETNX 命令實現分布式鎖,除此之外,還可以使用官方提供的 RedLock 分布式鎖實現。
8、其它
Set 可以實現交集、並集等操作,從而實現共同好友等功能。
ZSet 可以實現有序性操作,從而實現排行榜等功能。