日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

为啥互联网都使用缓存

發布時間:2023/12/18 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为啥互联网都使用缓存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 高性能

MySQL太久,受不了!

假設一個請求,各種操作MySQL,半天才查出來一個結果,但這結果可能接下來幾個小時都不會再變,或變了也可不用立即返給用戶。

使用緩存!

折騰半天查出來的結果,扔緩存里,一個key對應一個value,下次再有人查,別走MySQL折騰600ms了。
直接從緩存里,通過一個key查出來一個value,2ms搞定。性能提升300倍。

  • 即高性能
    就是把你一些復雜操作耗時查出來的結果,如果確定后面不咋變了,然后但是馬上還有很多讀請求,那么直接結果放緩存,后面直接讀緩存就好了。

應用場景

某商品信息,在1天之內都不會改變。但是這個商品每次查詢一次要耗費2s , 1天要被瀏覽百萬次

用戶1請求數據1,第一次檢查,發現緩存里沒數據1,從 MySQL 里查詢耗時 800ms,假設數據1在10分鐘之內不再變化
第一次查詢之后放入緩存。如果后續數據1變化,只要系統A修改數據庫的同時,也更新緩存里的值即可。
第二次檢查緩存,緩存里有數據1,直接返回。從緩存里獲取數據1返回給用戶2 ,耗費10ms

假設10分鐘之內有1000個用戶都查詢了同一個數據
10分鐘之內,那1000個用戶,每個人查詢這個數據都感覺很慢, 800ms
假設10分鐘之內數據沒有變化,然后1000個人來查詢這條數據,第一個人是800ms ,后面999個人都是
取數據10ms就可以看到結果

2 高并發

應用場景

查電商里的商品, 3/4的數據放在緩存, 1/4的數據留在數據庫。

在中午高峰期,有100萬用戶同時訪問系統A,每秒有4000個請求去查詢MySQL,其中3000個請求走緩存; 1000個請求走MySQL

  • 為什么數據庫支撐不了高并發,緩存卻可支撐高并發呢?
    緩存走內存,內存天然可支撐。別說是4000/s , 4萬/s請求也沒問題。
    但數據庫一般建議并發請求不要超過2000/s,如果數據承載每秒4000個請求,可能宕機。

3 所以結合上述場景,為啥要用緩存?

一般項目沒啥高并發,就別折騰了,直接高性能場景,就思考有沒有可以緩存結果的復雜查詢場景,后續可以大幅度提升性能,優化用戶體驗。

總結

以上是生活随笔為你收集整理的为啥互联网都使用缓存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。