1. 程式人生 > >為什麼要在專案裡要用快取

為什麼要在專案裡要用快取

高效能

 

  一個請求過來,資料庫查詢耗時600ms。但是這個結果可能接下來幾個小時都不會變了,或者變了也可以不用立即反饋給使用者。

  這時把結果放快取裡,一個key對應一個value,下次再有人查,不走資料庫,直接從快取裡,通過一個key查出來一個value,2ms搞定。這就是所謂的高效能。  

  就是把你一些複雜操作耗時查出來的結果,如果確定後面不咋變了,然後但是馬上還有很多讀請求,那麼直接結果放快取,後面直接讀快取就好了。

 

高併發

 

 

  mysql單機併發請求一般建議不要超過2000/s。 所以要是你有個系統,高峰期一秒鐘過來的請求有1萬,那一個mysql單機絕對會死掉。

  你這個時候就只能上快取,把很多資料放快取,別放mysql。快取功能簡單,說白了就是key-value式操作,單機支撐的併發量輕鬆一秒幾萬十幾萬,支援高併發。單機承載併發量是mysql單機的幾十倍。

 

用了快取之後會有啥不良的後果

  快取與資料庫雙寫不一致

  快取雪崩

  快取穿透

  快取併發競爭