內容索引(非關係型數據庫)
- redis開發(內存型)
- Memcached(內存型)
- MongoDb(存儲型)
內存型:讀取速度快,容量小 存貯型:讀取速度慢,存量大
NoSQL主要應用場景
- 專門應對高併發,需要高速讀寫的場景,redis,性能十分優越,可以支持每秒是幾萬次的讀/寫操作,其性能遠超數據庫,並且還支持集羣、分佈式、主從同步等配置;
- 天貓雙11
- 搶紅包、搶火車票
- ssr服務端渲染
redis
- 內容索引
- 特點
- api
- 結合nodejs應用
- 特點
- 存儲結構特別 - 字典
- 內存存儲與持久化 - 緩存
- 功能豐富
- 簡單穩定 - 簡單可依賴
- 存貯結構
- Redis是REmote dictionary server(遠程字典服務器)的縮寫,它以字典結構存儲;
字典就是js中object 可以進行交集、並集等集合操作, js中的鍵的類型只能是字符串,如果是其他類型,默認做了toString操作;
- 同大多數語言的字典一樣,Redis的鍵值除了是字符串,也可以是其他數據類型;
- 字符串
- 散列
- 列表
- 集合
- 有序集合
- 內存存貯與持久化
- redis數據庫中所有的數據都存在內存中,一臺普通的筆記本電腦,redis一秒可讀寫超過十萬個鍵值對;但是數據存在內存中,程序退出導致數據丟失,不過redis也提供了對數據持久化的支持;
- 功能豐富
- 緩存
- 隊列系統(高併發)
- redis可以爲每個key設置生存時間,到期會自動刪除,這一功能配合出色的性能能讓它作爲緩存系統來使用;
- 作爲緩存系統,redis還可以限定數據佔的最大空間,超過後自動刪除不必要的key;
- redis的列表類型鍵還可以用來實現隊列,並支持阻塞式讀取,可以很容易實現一個高性能的優先級隊列;
- redis還支持 “訂閱/發佈”,因此可以用來構建聊天室;
- 簡單穩定
- redis的直觀的存貯結構使得通過程序與redis交互十分簡單,在redis中使用命令來讀寫數據;命令語句之於redis就相當於sql語句之與關係型數據庫;
- 源代碼量只有3萬多行,可定製