NoSQL介紹 NoSQL,即not only sql,泛指非關係型資料庫 關係型資料庫,保證數據的完整性、關聯性 id name age salary 非關係型資料庫,不保證數據的完整性、關聯性,對數據的讀寫操作效率高 保證鍵值存儲:key= value ...
NoSQL 介紹
NoSQL,即not only sql,泛指非關係型資料庫
- 關係型資料庫,保證數據的完整性、關聯性
id name age salary
- 非關係型資料庫,不保證數據的完整性、關聯性,對數據的讀寫操作效率高
保證鍵值存儲:key=>value
set name value
get name
NoSQL 資料庫分類
鍵值資料庫:Redis、Memcache
列表型資料庫:HBase(java)
文檔型資料庫:MongoDB
Redis 介紹
Redis是一個開源的使用ANSI C語言編寫、支持網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,提供多種語言的API。
義大利工程師,2000年左右,開發一個項目需實時統計,但MySQL讀寫性能差,便決定自己寫一個資料庫。為了提升讀寫速度,在記憶體中開闢一塊空間進行讀寫,從而提升了讀寫數據的效率,後來得到VMware贊助。
Linux系統 —>記憶體(Redis讀寫)—>磁碟(文件)—>連接mysql資料庫 —> 讀寫表
Redis 應用場景
由於Redis是基於記憶體存儲的,所以對讀寫效率要求高,且數據量小的建議使用Redis存儲
例如:
- 緩存字元串(數據量少)
- 任務隊列(訂單生成)
- 排行榜程式(sorted set有序集合)
- 分散式環境下session存儲