簡述Redis和MySQL的區別

2022-09-25 16:00:16 字數 734 閱讀 3839

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

nyujfxp

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系列。

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

總結

簡述Redis的事務

簡單理解,可以認為 redis 事務是一些列 redis 命令的集合,並且有如下兩個特點 1.事務是乙個單獨的隔離操作 事務中的所有命令都會序列化 按順序地執行。事務在執行的過程中,不會被其他客戶端傳送來的命令請求所打斷。2.事務是乙個原子操作 事務中的命令要麼全部被執行,要麼全部都不執行。一般來說...

Oracle表空間 段 區和塊簡述

本文 自 在oracle學習過程中,儲存結構,表段區塊可能是每個初學者都要涉及到的概念。表空間 段 分割槽和資料塊分別表示了oracle進行資料儲存的不同層次和結構。了解清楚這幾個結構,有助於我們奠定乙個穩固的學習基礎,而且對於理解oracle工作原理也有重要作用。本文採用從小到大,逐步拓展的方式介...

簡述Redis與Memcached的區別

redis與memcached都是比較優秀的快取中介軟體.對於這兩者的選擇,我們可以根據情景的不同做出不同的選擇.本文簡述一下這兩者的部分區別.如下 redis支援五種資料型別.string,list,hash,set,sortedset 而memcached僅支援一種資料型別.string red...