Redis使用場景(六)
相關視頻參考

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