使用redis作為緩存,資料還需要存入資料庫嗎? (建議學習:Redis影片教學)
#我的答案是:
redis只是緩存,不是資料庫如mysql,所以redis有的資料庫,mysql一定有。
使用者要求先去請求redis,如果沒有,再去資料庫中去讀取。
redis中快取一些請求量比較大的數據(這些快取數據,mysql一定也是有的),沒必要所有數據都快取到redis中。
之所以從快取拿資料會快,是因為快取的資料存在於記憶體中,不像mysql的資料是存在磁碟上的,也就是不用經過從磁碟載入到記憶體這個過程(這個過程是非常耗時且低效的),直接從記憶體取得資料。
當redis快取崩潰的時候,那麼不是海量的請求都去存取資料庫了?資料庫能抗住嗎?
收下要分析,當成千億個請求同時存取過來,資料庫為什麼會扛不住?
①超大量的並發,資料庫扛不住。
舉例就懂了。
10000萬個plsql客戶端,同時存取Oracle進行資料庫查詢、寫入等操作,資料庫肯定吃不消。
從這個角度來說,redis並不能幫什麼忙。
②資料庫存在低速裝置上,每次存取資料庫,都要經過io,也就是從磁碟調入記憶體的過程。這個才是使用redis等快取機制的原因。
更多Redis相關技術文章,請造訪Redis入門教學欄位學習!
以上是資料哪些放redis哪些放資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!