您好,登錄后才能下訂單哦!
使用redis作為緩存,數據還需要存入數據庫中嗎?
我的答案是:
redis只是緩存,不是數據庫如mysql,所以redis中有的數據庫,mysql中一定有。
用戶請求先去請求redis,如果沒有,再去數據庫中去讀取。
redis中緩存一些請求量比較大的數據(這些緩存數據,mysql中一定也是有的),沒必要所有數據都緩存到redis中。
之所以從緩存中拿數據會快,是因為緩存的數據存在于內存中,不像mysql的數據是存在磁盤上的,即不用經過從磁盤加載到內存這個過程(這個過程是非常耗時和低效的),直接從內存獲取數據。
當redis緩存崩潰的時候,那么不是海量的請求都去訪問數據庫了?數據庫能抗住嗎?
收下要分析,當成千億個請求同時訪問過來,數據庫為什么會扛不住?
①超大量的并發,數據庫扛不住。
舉個例子就明白了。
10000萬個plsql客戶端,同時訪問Oracle進行數據庫查詢、寫入等操作,數據庫肯定吃不消。
從這個角度來說,redis并不能幫什么忙。
②數據庫存在低速設備上,每次訪問數據庫,都要經過io,即從磁盤調入內存的過程。這個才是使用redis等緩存機制的原因。
以上就是數據哪些放redis哪些放數據庫的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。