NoSQL:一類新出現的資料庫(not only sql) 泛指非關係型的資料庫 不支持SQL語法 存儲結構跟傳統關係型資料庫中的那種關係表完全不同,nosql中存儲的數據都是KV形式 NoSQL的世界中沒有一種通用的語言,每種nosql資料庫都有自己的api和語法,以及擅長的業務場景 NoSQL中 ...
NoSQL:一類新出現的資料庫(not only sql)
- 泛指非關係型的資料庫
- 不支持SQL語法
- 存儲結構跟傳統關係型資料庫中的那種關係表完全不同,nosql中存儲的數據都是KV形式
- NoSQL的世界中沒有一種通用的語言,每種nosql資料庫都有自己的api和語法,以及擅長的業務場景
- NoSQL中的產品種類相當多:
- Mongodb
- Redis
- Hbase hadoop
- Cassandra hadoop
NoSQL和SQL資料庫的比較:
- 適用場景不同:sql資料庫適合用於關係特別複雜的數據查詢場景,nosql反之
- “事務”特性的支持:sql對事務的支持非常完善,而nosql基本不支持事務
- 兩者在不斷地取長補短,呈現融合趨勢
Redis簡介
- Redis是一個開源的使用ANSI C語言編寫、支持網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。
- Redis是 NoSQL技術陣營中的一員,它通過多種鍵值數據類型來適應不同場景下的存儲需求,藉助一些高層級的介面使用其可以勝任,如緩存、隊列系統的不同角色
Redis特性
- 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應用場景
- 用來做緩存(ehcache/memcached)——redis的所有數據是放在記憶體中的(記憶體資料庫)
- 可以在某些特定應用場景下替代傳統資料庫——比如社交類的應用
- 在一些大型系統中,巧妙地實現一些特定的功能:session共用、購物車
- 只要你有豐富的想象力,redis可以用在可以給你無限的驚喜…….