mysql和redis的一些區別

2021-12-29 19:50:35 字數 1017 閱讀 7289

mysql和redis的一些區別。我們知道,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。 這樣就說 mysql->redis的同步用的比較多。 mysql作為資料持久化和管理比redis好太多,redis大多只用來做 資料讀取快取、佇列、鎖、等等的使用。 持久化的話也提供了rdb、aof 保證資料的實時不丟失。 redis和mysql要根據具體業務場景去選型

mysql:資料放在磁碟

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

排行榜計數器

訊息佇列推送

mysql 和 redis的一些區別

我們知道,mysql是持久化儲存,存放在磁碟裡面,檢索的話,會涉及到一定的io,為了解決這個瓶頸,於是出現了快取,比如現在用的最多的 memcached 簡稱mc 首先,使用者訪問mc,如果未命中,就去訪問mysql,之後像記憶體和硬碟一樣,把資料複製到mc一部分。redis和mc都是快取,並且都是...

redis 的一些理解

1.rdb 生成指定時間點的快照 2.aof 生成所有寫操作命令。可以對aof檔案重寫 rewrite 縮小檔案大小 可以同時使用,也可以不使用 但是還原的時候首先考慮還原aof的檔案。訊息佇列的兩個功能 1.發布,訂閱 2.延遲發布 我會有相應的文章發布。1.redis 單台容易出現故障 2.單台...

redis的一些操作

public class wnsredisfactory return pool 通過key刪除 param key public static void del string key throws exception public static void del string key,string...