MySQL與Redis的區別 詳細!

2022-03-14 04:44:12 字數 1341 閱讀 7037

mysql是關係型資料庫,主要用於存放持久化資料,將資料儲存在硬碟中,讀取速度較慢。

redis是nosql,即非關係型資料庫,也是快取資料庫,即將資料儲存在快取中,快取的讀取速度快,能夠大大的提高執行效率,但是儲存時間有限。

mysql作為持久化儲存的關係型資料庫,相對薄弱的地方在於每次請求訪問資料庫時,都存在著i/o操作,如果反覆頻繁的訪問資料庫:

第一:會在反覆鏈結資料庫上花費大量時間,從而導致執行效率過慢;

第二:反覆的訪問資料庫也會導致資料庫的負載過高,那麼此時快取的概念就衍生了出來。

快取就是資料交換的緩衝區(cache)當瀏覽器執行請求時,首先會對在快取中進行查詢,如果存在就獲取;否則就訪問資料庫。

快取的好處就是讀取速度快。

redis資料庫就是一款快取資料庫,用於儲存使用頻繁的資料,這樣減少訪問資料庫的次數,提高執行效率。

5.1型別上

從型別上來說,mysql是關係型資料庫,redis是快取資料庫。

5.2作用上

mysql用於持久化的儲存資料到硬碟,功能強大,但是速度較慢

redis用於儲存使用較為頻繁的資料到快取中,讀取速度快

5.3需求上

mysql和redis因為需求的不同,一般都是配合使用

5.4場景選型上

redis和mysql要根據具體業務場景去選型

5.5存放位置

資料存放位置mysql:資料放在磁碟

redis:資料放在記憶體

5.6適合存放資料型別

redis適合放一些頻繁使用,比較熱的資料,因為是放在記憶體中,讀寫速度都非常快,一般會應用在下面一些場景:排行榜、計數器、訊息佇列推送、好友關注、粉絲

6.1 首先要知道mysql儲存在磁碟裡,redis儲存在記憶體裡,redis既可以用來做持久儲存,也可以做快取,而目前大多數公司的儲存都是mysql + redis,mysql作為主儲存,redis作為輔助儲存被用作快取,加快訪問讀取的速度,提高效能.

6.2 redis儲存在記憶體中,如果儲存在記憶體中,儲存容量肯定要比磁碟少很多,那麼要儲存大量資料,只能花更多的錢去購買記憶體,造成在一些不需要高效能的地方是相對比較浪費的,所以目前基本都是mysql(主) + redis(輔),在需要效能的地方使用redis,在不需要高效能的地方使用mysql,好鋼用在刀刃上.

6.3 mysql支援sql查詢,可以實現一些關聯的查詢以及統計.

6.4 redis對記憶體要求比較高,在有限的條件下不能把所有資料都放在redis.

6.5 mysql偏向於存資料,redis偏向於快速取資料,但redis查詢複雜的表關係時不如mysql,所以可以把熱門的資料放redis,mysql存基本資料

redis與mysql的區別

我們都知道,mysql是持久化儲存,存放在磁碟裡,檢索的話,會涉及到一定的i o,為了解決這個問題,就出現了快取,首先,使用者訪問 如果未命中,就去訪問mysql,之後像記憶體和磁碟一樣,把資料複製到快取中 記憶體與磁碟的關係,磁碟放置主體資料用於持久化儲存,而記憶體則是當前執行的那部分資料,cpu...

mysql 與 redis的區別

redis和mysql都是開源的。redis是屬於記憶體資料庫,所有的資料都儲存在記憶體中,所以執行增刪改查等操 作執行速度比mysql相比快速很多,而且支援的資料型別也較全面,支援字串,列表,hash,集合等。但是由於資料是儲存在記憶體中,所以redis不具備自動容錯和恢復功能。該資料庫在重啟後會...

MySQL與Redis的區別與聯絡詳解

1.mysql和redis的資料庫型別 mysql是關係型資料庫,主要用於存放持久化資料,將資料儲存在硬碟中,讀取速度較慢.redis是nosql,即非關係型資料庫,也是快取資料庫,即將資料儲存在快取中,快取的讀取速度快,能夠大大的提高執行效率,但是儲存時間有限.2.mysql的執行機制 mysql...