在项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?
項目中緩存是如何使用的?
這個,需要結合自己項目的業務來。
為什么要用緩存?
用緩存,主要有兩個用途:高性能、高并發。
高性能
假設這么個場景,你有個操作,一個請求過來,吭哧吭哧你各種亂七八糟操作 mysql,半天查出來一個結果,耗時 600ms。但是這個結果可能接下來幾個小時都不會變了,或者變了也可以不用立即反饋給用戶。那么此時咋辦?
緩存啊,折騰 600ms 查出來的結果,扔緩存里,一個 key 對應一個 value,下次再有人查,別走 mysql折騰 600ms 了,直接從緩存里,通過一個 key 查出來一個 value,2ms 搞定。性能提升 300 倍。
就是說對于一些需要復雜操作耗時查出來的結果,且確定后面不怎么變化,但是有很多讀請求,那么直接將查詢出來的結果放在緩存中,后面直接讀緩存就好。
高并發
所以要是你有個系統,高峰期一秒鐘過來的請求有 1 萬,那一個 mysql 單機絕對會死掉。你這個時候就只能上緩存,把很多數據放緩存,別放 mysql。緩存功能簡單,說白了就是 key-value 式操作,單機支撐的并發量輕松一秒幾萬十幾萬,支撐高并發 so easy。單機承載并發量是 mysql 單機的幾十倍。
緩存是走內存的,內存天然就支撐高并發。
用了緩存之后會有什么不良后果?
常見的緩存問題有以下幾個:
緩存與數據庫雙寫不一致 、緩存雪崩、緩存穿透、緩存并發競爭。
?
總結
以上是生活随笔為你收集整理的在项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx 和 Zuul 的区别
- 下一篇: redis 的线程模型是什么?为什么 r