Redis分佈式集羣--Redis的優勢

Redis

Redis(全稱:Remote Dictionary Server 遠程數據服務)是一個開源的使用ANSIC語言編寫、支持網絡、可基於內存亦可持久化的日誌型、 Key-Value數據庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助

Redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set–有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,Redis支持各種不同方式的排序。與Memcached一樣,爲了保證效率,數據都是緩存在內存中。區別的是Redis會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步

Redis 是一個高性能的key-value數據庫。 Redis的出現,很大程度補償了Memcached這類key/value存儲的不足,在部分場合可以對關係數據庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便

Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹複製。存盤可以有意無意的對數據進行寫操作。由於完全實現了發佈/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道並接收主服務器完整的消息發佈記錄。同步對讀取操作的可擴展性和數據冗餘很有幫助

在這裏插入圖片描述

RedisMysql的區別

1、Mysql和Redis的數據庫類型

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

Redis是NOSQL,即非關係型數據庫,也是緩存數據庫,即將數據存儲在緩存中,緩存的讀取速度快,能夠大大的提高運行效率,但是保存時間有限

2、Mysql的運行機制

Mysql作爲持久化存儲的關係型數據庫,相對薄弱的地方在於每次請求訪問數據庫時,都存在着I/O操作,如果反覆頻繁的訪問數據庫

第一:會在反覆鏈接數據庫上花費大量時間,從而導致運行效率過慢;

第二:反覆的訪問數據庫也會導致數據庫的負載過高,那麼此時緩存的概念就衍生了出來

3、緩存

緩存就是數據交換的緩衝區(cache),當瀏覽器執行請求時,首先會對在緩存中進行查找,如果存在,就獲取;否則就訪問數據庫

緩存的好處就是讀取速度快

4、Redis數據庫

Redis數據庫就是一款緩存數據庫,用於存儲使用頻繁的數據,這樣減少訪問數據庫的次數,提高運行效率

Mysql是關係型數據庫,Redis是緩存數據庫

Mysql用於持久化的存儲數據到硬盤,功能強大,速度較慢

Redis用於存儲使用較爲頻繁的數據到緩存中,讀取速度快

Mysql和Redis因爲需求的不同,一般都是配合使用

SQLNoSQL的區別

在這裏插入圖片描述

Redis的開源性

Redis 是一個開源(BSD許可)的,內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。 它支持多種類型的數據結構,如字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)與範圍查詢, bitmaps, hyperloglogs 和 地理空間(geospatial) 索引半徑查詢。 Redis 內置了複製(replication),LUA腳本(Lua scripting), LRU驅動事件(LRUeviction),事務(transactions) 和不同級別的 磁盤持久化(persistence), 並通過Redis哨兵(Sentinel)和自動 分區(Cluster)提供高可用性(high availability)

Rediskey-value數據庫

Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫

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

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

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

Redis支持數據的備份,即master-slave模式的數據備份

Redis 優勢

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

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

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

豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性

Redis與其他key-value存儲有什麼不同

Redis有着更爲複雜的數據結構並且提供對他們的原子性操作,這是一個不同於其他數據庫的進化路徑。Redis的數據類型都是基於基本數據 結構的同時對程序員透明,無需進行額外的抽象

Redis運行在內存中但是可以持久化到磁盤,所以在對不同數據集進行高速讀寫時需要權衡內存,應爲數據量不能大於硬件內存。在內存數據庫方面的另一個優點是,相比在磁盤上相同的複雜的數據結構,在內存中操作起來非常簡單,這樣Redis可以做很多內部複雜性很強的事 情。同時,在磁盤格式方面他們是緊湊的以追加的方式產生的,因爲他們並不需要進行隨機訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章