使用本地緩存快還是使用redis緩存好?


使用本地緩存快還是使用redis緩存好?

Redis早已家喻戶曉,其性能自不必多說。

但是總有些時候,我們想把性能再提升一點,想着redis是個遠程服務,性能也許不夠,於是想用本地緩存試試!想法是不錯的。那么就讓我們來比較下二者的差別吧!

  1. 讀寫速度,不考慮並發問題,本地緩存自然是最快的。但是如果本地緩存不加鎖,那應並發了咋辦呢?所以,我們以加鎖方式再比較一次。
  2. 場景使用,同一數據,從數據庫取出來,放到redis只要一次,而放到本地緩存,則需要n個集群次
  3. 本地緩存無法用於重復點擊,重復點擊會分發請求到多台服務器,而用本地緩存只能防止本機重復點擊,redis則可以防止,但是時間間隔也需要在redis的讀寫差之外。
  4. redis內存可能n多擴充,而本地擴大堆內存代價是很大的。
  5. 本地緩存需要自己實現過期功能,實現不好可能導致極其嚴重的后果,而redis經過大量的流量驗證,許多漏洞無需考試,安全。
  6. 本地緩存無法提供豐富的數據結構,redis可以。
  7. redis可以寫磁盤,持久化,本地緩存不可以或者說很麻煩要考慮的東西太多。
  8. 各位開發同學水平差別大,使用本地緩存極有可能導致嚴重的線程安全問題,並發考慮嚴重。
  9. 加本地緩存后,代碼復雜度急劇上升,后面進來的開發很難一下領會原有開發想法。間接提升維護成本。
  10. 其實在map和redis取值這里省的時間,可能在我們寫得亂七八糟的代碼里,早都不算啥了,所有有時候咱們真的沒必要較那幾毫秒的真!

    個人感覺就是,框架是盡量選擇最優的方式進行處理,本地緩存勝。業務代碼盡量以最穩的方式進行處理,redis勝。

    選擇什么樣的方式,還得看用於什么樣的場景!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM