之前講過redis的介紹,及使用redis帶來的優勢,這章整理了一下redis的應用場景,也是非常重要的,學不學得好,能正常落地是關鍵。
下面一一來分析下redis的應用場景都有哪些。
1、快取
快取現在幾乎是所有中大型**都在用的必殺技,合理的利用快取不僅能夠提公升**訪問速度,還能大大降低資料庫的壓力。redis提供了鍵過期功能,也提供了靈活的鍵淘汰策略,所以,現在redis用在快取的場合非常多。
2、排行榜
很多**都有排行榜應用的,如京東的月度銷量榜單、商品按時間的上新排行榜等。redis提供的有序集合資料類構能實現各種複雜的排行榜應用。
3、計數器
4、分布式會話
集群模式下,在應用不多的情況下一般使用容器自帶的session複製功能就能滿足,當應用增多相對複雜的系統中,一般都會搭建以redis等記憶體資料庫為中心的session服務,session不再由容器管理,而是由session服務及記憶體資料庫管理。
5、分布式鎖
在很多網際網路公司中都使用了分布式技術,分布式技術帶來的技術挑戰是對同乙個資源的併發訪問,如全域性id、減庫存、秒殺等場景,併發量不大的場景可以使用資料庫的悲觀鎖、樂觀鎖來實現,但在併發量高的場合中,利用資料庫鎖來控制資源的併發訪問是不太理想的,大大影響了資料庫的效能。可以利用redis的setnx功能來編寫分布式的鎖,如果設定返回1說明獲取鎖成功,否則獲取鎖失敗,實際應用中要考慮的細節要更多。
6、 社交網路
點讚、踩、關注/被關注、共同好友等是社交**的基本功能,社交**的訪問量通常來說比較大,而且傳統的關聯式資料庫型別不適合儲存這種型別的資料,redis提供的雜湊、集合等資料結構能很方便的的實現這些功能。
7、最新列表
redis列表結構,lpush可以在列表頭部插入乙個內容id作為關鍵字,ltrim可用來限制列表的數量,這樣列表永遠為n個id,無需查詢最新的列表,直接根據id去到對應的內容頁即可。
8、訊息系統
訊息佇列是大型**必用中介軟體,如activemq、rabbitmq、kafka等流行的訊息佇列中介軟體,主要用於業務解耦、流量削峰及非同步處理實時性低的業務。redis提供了發布/訂閱及阻塞佇列功能,能實現乙個簡單的訊息佇列系統。另外,這個不能和專業的訊息中介軟體相比。
Redis 的 8 大應用場景!
1 快取 快取現在幾乎是所有中大型 都在用的必殺技,合理的利用快取不僅能夠提公升 訪問速度,還能大大降低資料庫的壓力。redis提供了鍵過期功能,也提供了靈活的鍵淘汰策略,所以,現在redis用在快取的場合非常多。2 排行榜 很多 都有排行榜應用的,如京東的月度銷量榜單 商品按時間的上新排行榜等。r...
Redis應用場景
redis開創了一種新的資料儲存思路,使用redis,我們不用在面對功能單調的資料庫時,把精力放在如何把大象放進冰箱這樣的問題上,而是利用redis靈活多變的資料結構和資料操作,為不同的大象構建不同的冰箱。redis常用資料型別 redis最為常用的資料型別主要有以下五種 在具體描述這幾種資料型別之...
Redis應用場景
redis開創了一種新的資料儲存思路,使用redis,我們不用在面對功能單調的資料庫時,把精力放在如何把大象放進冰箱這樣的問題上,而是利用redis靈活多變的資料結構和資料操作,為不同的大象構建不同的冰箱。redis常用資料型別 redis最為常用的資料型別主要有以下五種 在具體描述這幾種資料型別之...