來源:https://blog.csdn.net/xlgen157387/article/details/60761232

Redis簡介

Redis 是一個開源的內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。

它支持多種類型的數據結構,如字符串(Strings),散列(Hashes),列表(Lists),集合(Sets),有序集合(Sorted Sets或者是ZSet) 與範圍查詢, Bitmaps,Hyperloglogs 和 地理空間(Geospatial)索引半徑查詢。 其中常見的數據結構類型有String、List、Set、Hash、ZSet這5種

Redis 內置了複製(Replication),LUA腳本(Lua scripting), LRU驅動事件(LRU eviction),事務(Transactions) 和不同級別的磁盤持久化(Persistence), 並通過 Redis哨兵(Sentinel)和自動分區(Cluster)提供高可用性(High Availability)。

Redis也提供了持久化的選項,這些選項可以讓用戶將自己的數據保存到磁盤上面進行存儲。根據實際情況, 可以每隔一定時間將數據集導出到磁盤(快照),或者追加到命令日誌中(AOF只追加文件),他會在執行寫命令時,將被執行的寫命令複製到硬盤裏面。您也可以關閉持久化功能,將Redis作爲一個高效的網絡的緩存數據功能使用。

Redis不使用表,他的數據庫不會預定義或者強制去要求用戶對Redis存儲的不同數據進行關聯。

數據庫的工作模式按存儲方式可分爲:硬盤數據庫和內存數據庫。Redis 將數據儲存在內存裏面,讀寫數據的時候都不會受到硬盤 I/O 速度的限制,所以速度極快。

(1)硬盤數據庫的工作模式:

Redis簡介以及和其他緩存數數據庫的區別


(2)內存數據庫的工作模式:

Redis簡介以及和其他緩存數數據庫的區別


資源列表:

官網地址:https://redis.io/

中文官方地址:http://www.redis.cn/

Redis學習資源:加QQ羣獲取-523277336

Redis 優勢和優點

(1)性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

(2)豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。

(3)原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全並後的原子性執行。

(4)豐富的特性 – Redis還支持 publish/subscribe(發佈/訂閱), 通知, key 過期等等特性。

Redis 與其他 key - value 緩存產品有以下三個特點:

(1)Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啓的時候可以再次加載進行使用。

(2)Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。

(3)Redis支持數據的備份,即master-slave模式的數據備份。

Redis和Memcached的區別

Redis常被拿來和高性能鍵值緩存服務器Memcached進行對比:這兩者都可以用來存儲鍵值對,彼此的性能也相差無幾,但是Redis相對支持更多的數據類型,除了支持鍵值對之外,還支持list,set,zset,hash等數據結構的存儲,而Memcached只能存儲普通的字符串鍵。

Memcached用戶只能通過APPEND的方式將數據添加到已有的字符串的末尾,並將這個字符串當做列表來使用。但是在刪除這些元素的時候,Memcached採用的是通過黑名單的方式來隱藏列表裏的元素,從而避免了對元素的讀取、更新、刪除等操作。相反的Redis的List和Set允許用戶直接添加和刪除元素。

Redis和Memcached的其他區別如下:

1、Redis和Memcached都是將數據存放在內存中,都是內存數據庫。不過Memcached還可用於緩存其他東西,例如圖片、視頻等等;

2、Redis不僅僅支持簡單的K/V類型的數據,同時還提供List,Set,Hash等數據結構的存儲;

3、虛擬內存–Redis當物理內存用完時,可以將一些很久沒用到的Value 交換到磁盤;

4、過期策略–Memcached在set時就指定,例如:set key1 0 0 8,即永不過期。Redis可以通過例如expire 設定,例如:expire name 10;

5、分佈式–設定Memcached集羣,利用magent做一主多從;Redis可以做一主多從。都可以一主一從;

6、存儲數據安全–Memcached掛掉後,數據沒了;Redis可以定期保存到磁盤(持久化);

7、災難恢復–Memcached掛掉後,數據不可恢復; Redis數據丟失後可以通過AOF恢復;

8、Redis支持數據的備份,即Master-Slave模式的數據備份;

9、應用場景不一樣:Redis出來作爲NoSQL數據庫使用外,還能用做消息隊列、數據堆棧和數據緩存等;Memcached適合於緩存SQL語句、數據集、用戶臨時性數據、延遲查詢數據和Session等。

Redis和其他數據庫的區別

Redis簡介以及和其他緩存數數據庫的區別


相关文章