亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

Redis應用場景淺析

2023-10-30 01:54:31
3
0

Redis誕生于2009年,全稱是Redis( Re mote Di ctionary S ervice 遠程字典服務),Redis 是一個開源(BSD許可)的,內存中的數據結構存儲系統,它可以用作數據庫緩存消息中間件。 使用C語言開發,基于內存的鍵值型NoSQL數據庫。

Redis 內置:復制(replicationLUA腳本LRU驅動事件事務 和不同級別的 磁盤持久化, 并通過 Redis哨兵(Sentinel)和自動分區(Cluster提供高可用性。提供五種基本數據類型和三種特殊類型來存儲值:

  • 基本類型:字符串類型、散列類型、列表類型、Set集合類型、有序Set集合類型。
  • 特殊類型:GEO、BitMap、HyperLoglog

常見應用場景:

1)緩存

緩存現在幾乎是所有中大型網站都在用的必殺技,合理的利用緩存不僅能夠提升網站訪問速度,還能大大降低數據庫的壓力。Redis提供了鍵過期功能,也提供了靈活的鍵淘汰策略,所以,現在Redis用在緩存的場合非常多。

2)排行榜

很多網站都有排行榜應用的,如:歌曲排行榜、月度銷量榜單、商品按時間的上新排行榜等。Redis提供的有序集合數據類構能實現各種復雜的排行榜應用。

3)計數器

什么是計數器?如:電商網站商品的瀏覽量、視頻網站視頻的播放數等。為了保證數據實時效,每次瀏覽都得給+1,并發量高時如果每次都請求數據庫操作無疑是種挑戰和壓力。Redis提供的incr命令來實現計數器功能,內存操作,性能非常好,非常適用于這些計數場景。

4)社交網絡

點贊、踩、關注/被關注、共同好友等是社交網站的基本功能,社交網站的訪問量通常來說比較大,而且傳統的關系數據庫類型不適合存儲這種類型的數據,Redis提供的哈希、集合等數據結構能很方便的的實現這些功能。

5)消息系統

消息隊列是大型網站必用中間件,如:RocketMQ、RabbitMQ、Kafka等流行的消息隊列中間件,主要用于業務解耦、流量削峰及異步處理實時性低的業務。Redis提供了發布/訂閱及阻塞隊列功能,能實現一個簡單的消息隊列系統。另外,這個不能和專業的消息中間件相比。

6)分布式會話

集群模式下,在應用不多的情況下一般使用容器自帶的session復制功能就能滿足,當應用增多相對復雜的系統中,一般都會搭建以Redis等內存數據庫為中心的session服務,session不再由Web容器管理,而是由session服務及內存數據庫管理。

7)分布式鎖

在很多互聯網公司中都使用了分布式技術,分布式技術帶來的技術挑戰是對同一個資源的并發訪問,如全局ID、減庫存、秒殺等場景,并發量不大的場景可以使用數據庫的悲觀鎖、樂觀鎖來實現,但在并發量高的場合中,利用數據庫鎖來控制資源的并發訪問是不太理想的,大大影響了數據庫的性能。可以利用Redis的setnx功能來編寫分布式的鎖,如果設置返回1說明獲取鎖成功,否則獲取鎖失敗,實際應用中要考慮的細節要更多。

0條評論
作者已關閉評論
1****m
13文章數
0粉絲數
1****m
13 文章 | 0 粉絲
原創

Redis應用場景淺析

2023-10-30 01:54:31
3
0

Redis誕生于2009年,全稱是Redis( Re mote Di ctionary S ervice 遠程字典服務),Redis 是一個開源(BSD許可)的,內存中的數據結構存儲系統,它可以用作數據庫緩存消息中間件。 使用C語言開發,基于內存的鍵值型NoSQL數據庫。

Redis 內置:復制(replicationLUA腳本LRU驅動事件事務 和不同級別的 磁盤持久化, 并通過 Redis哨兵(Sentinel)和自動分區(Cluster提供高可用性。提供五種基本數據類型和三種特殊類型來存儲值:

  • 基本類型:字符串類型、散列類型、列表類型、Set集合類型、有序Set集合類型。
  • 特殊類型:GEO、BitMap、HyperLoglog

常見應用場景:

1)緩存

緩存現在幾乎是所有中大型網站都在用的必殺技,合理的利用緩存不僅能夠提升網站訪問速度,還能大大降低數據庫的壓力。Redis提供了鍵過期功能,也提供了靈活的鍵淘汰策略,所以,現在Redis用在緩存的場合非常多。

2)排行榜

很多網站都有排行榜應用的,如:歌曲排行榜、月度銷量榜單、商品按時間的上新排行榜等。Redis提供的有序集合數據類構能實現各種復雜的排行榜應用。

3)計數器

什么是計數器?如:電商網站商品的瀏覽量、視頻網站視頻的播放數等。為了保證數據實時效,每次瀏覽都得給+1,并發量高時如果每次都請求數據庫操作無疑是種挑戰和壓力。Redis提供的incr命令來實現計數器功能,內存操作,性能非常好,非常適用于這些計數場景。

4)社交網絡

點贊、踩、關注/被關注、共同好友等是社交網站的基本功能,社交網站的訪問量通常來說比較大,而且傳統的關系數據庫類型不適合存儲這種類型的數據,Redis提供的哈希、集合等數據結構能很方便的的實現這些功能。

5)消息系統

消息隊列是大型網站必用中間件,如:RocketMQ、RabbitMQ、Kafka等流行的消息隊列中間件,主要用于業務解耦、流量削峰及異步處理實時性低的業務。Redis提供了發布/訂閱及阻塞隊列功能,能實現一個簡單的消息隊列系統。另外,這個不能和專業的消息中間件相比。

6)分布式會話

集群模式下,在應用不多的情況下一般使用容器自帶的session復制功能就能滿足,當應用增多相對復雜的系統中,一般都會搭建以Redis等內存數據庫為中心的session服務,session不再由Web容器管理,而是由session服務及內存數據庫管理。

7)分布式鎖

在很多互聯網公司中都使用了分布式技術,分布式技術帶來的技術挑戰是對同一個資源的并發訪問,如全局ID、減庫存、秒殺等場景,并發量不大的場景可以使用數據庫的悲觀鎖、樂觀鎖來實現,但在并發量高的場合中,利用數據庫鎖來控制資源的并發訪問是不太理想的,大大影響了數據庫的性能。可以利用Redis的setnx功能來編寫分布式的鎖,如果設置返回1說明獲取鎖成功,否則獲取鎖失敗,實際應用中要考慮的細節要更多。

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0