首頁  >  文章  >  資料庫  >  redis與mysql有哪些差別

redis與mysql有哪些差別

王林
王林轉載
2021-01-06 10:25:363741瀏覽

redis與mysql有哪些差別

區別分析如下:

(學習影片分享:redis資料庫教學

1、mysql和redis的資料庫類型

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

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

2、mysql的運作機制

mysql作為持久化儲存的關係型資料庫,相對薄弱的地方在於每次請求存取資料庫時,都存在著I/O操作,如果反覆頻繁的存取資料庫。第一:會在反覆連結資料庫上花費大量時間,導致運作效率過慢;第二:重複的存取資料庫也會導致資料庫的負載過高,那麼此時快取的概念就衍生了出來。

3、快取

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

快取的好處是讀取速度快

4、redis資料庫

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

5、redis和mysql的區別總結

(1)類型上

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

(2)作用上

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

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

(3)需求上

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

補充:
redis和mysql要根據特定業務場景去選型

mysql:資料放在磁碟redis:資料放在記憶體

redis適合放一些經常使用,比較熱的數據,因為是放在記憶體中,讀寫速度都非常快,一般會應用在下面一些場景

排行榜、計數器、訊息佇列推送、好友追蹤、粉絲

首先要知道mysql儲存在磁碟裡,redis儲存在記憶體裡,redis既可以用來做持久存儲,也可以做緩存,而目前大多數公司的存儲都是mysql redis,mysql作為主存儲, redis作為輔助儲存被用作緩存,加快存取讀取的速度,提高效能
那為什麼不直接全部用redis儲存呢?
我的看法是:因為redis存儲在內存中,如果存儲在內存中,存儲容量肯定要比磁盤少很多,那麼要存儲大量數據,只能花更多的錢去購買內存,造成在一些不需要高性能的地方是相對比較浪費的,所以目前基本上都是mysql(主) redis(輔),在需要性能的地方使用redis,在不需要高性能的地方使用mysql,好鋼用在刀刃上

1、mysql支援sql查詢,可以實現一些關聯的查詢以及統計;

2、redis對記憶體需求比較高,在有限的條件下不能把所有資料都放在redis ;

3、mysql偏向存數據,redis偏向快速取數據,但redis查詢複雜的表關係時不如mysql,所以可以把熱門的數據放redis,mysql存基本數據

相關推薦:redis資料庫教學

以上是redis與mysql有哪些差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除