redis與mysql的區別

2021-08-19 15:19:33 字數 1026 閱讀 5529

我們都知道,

mysql是持久化儲存,存放在磁碟裡,檢索的話,會涉及到一定的i/o,為了解決這個問題,就出現了快取,首先,使用者訪問**,如果未命中,就去訪問mysql,之後像記憶體和磁碟一樣,把資料複製到快取中

記憶體與磁碟的關係,磁碟放置主體資料用於持久化儲存,而記憶體則是當前執行的那部分資料,cpu訪問記憶體而不是磁碟,這大大提公升了執行的速度

前者是記憶體資料庫,資料儲存在記憶體,當然速度快

而後者是關係型資料庫,功能強大,資料訪問也就慢。

我們知道,mysql是持久化儲存,存放在磁碟裡面,檢索的話,會涉及到一定的io

,為了解決這個瓶頸,於是出現了快取,比如現在用的最多的 memcached(簡稱mc)。首先,使用者訪問mc,如果未命中,就去訪問mysql,之後像記憶體和硬碟

一樣,把資料複製到mc一部分。

redis和mc都是快取,並且都是駐留在記憶體中執行的,這大大提公升了高資料量web訪問的訪問速度。然而mc只是提供了簡單的資料結構,比如 string儲存;redis卻提供了大量的資料結構,比如string、list、set、hashset、sorted set這些,這使得使用者方便了好多,畢竟封裝了一層實用的功能,同時實現了同樣的效果,當然用redis而慢慢捨棄mc。

記憶體和硬碟

的關係,硬碟

放置主體資料用於持久化儲存,而記憶體則是當前執行的那部分資料,cpu

訪問記憶體而不是磁碟,這大大提公升了執行的速度,當然這是基於程式的區域性化訪問原理。

推理到redis+mysql,它是記憶體+磁碟關係的乙個對映,mysql放在磁碟,redis放在記憶體,這樣的話,web應用每次只訪問redis,如果沒有找到的資料,才去訪問mysql。

然而redis+mysql和記憶體+磁碟的用法最好是不同的。

前者是記憶體資料庫,資料儲存在記憶體中,

當然速度快。

後者是關係型資料庫,功能強大,資料訪問

也就慢。

像memcache,mongodb,redis,都屬

於no sql系列。

不是乙個型別的東西,應用場景也不太一樣,還是要看你的需求來決定。

mysql 與 redis的區別

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

MySQL與Redis的區別 詳細!

mysql是關係型資料庫,主要用於存放持久化資料,將資料儲存在硬碟中,讀取速度較慢。redis是nosql,即非關係型資料庫,也是快取資料庫,即將資料儲存在快取中,快取的讀取速度快,能夠大大的提高執行效率,但是儲存時間有限。mysql作為持久化儲存的關係型資料庫,相對薄弱的地方在於每次請求訪問資料庫...

MySQL與Redis的區別與聯絡詳解

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