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可以用在可以給你無限的驚喜…….