nosql資料庫:mongodb,redis,memcached,其優缺點和使用應用場景?
阿新 • • 發佈:2018-11-24
1.mongodb
(1)是文件型的非關係型資料庫,使用bson結構。其優勢在於查詢功能比較強大,能儲存海量資料,缺點是比較消耗記憶體。
(2)一般可以用來存放評論等半結構化資料,支援二級索引。 適合儲存json型別資料,不經常變化。
(3)舉例:
a.網站資料:非常適合實時的插入、更新、查詢;
b.快取:其搭建的持久化快取層可以避免下層的資料來源過載;
c.用於物件及JSON資料的儲存:Mongo 的BSON 資料格式非常適合文件化格式的儲存及查詢;
d.高伸縮性的場景:Mongo 非常適合由數十或數百臺伺服器組成的資料庫;
e.不適合銀行或會計系統;
f.常用場景
2.redis
(1)是記憶體型資料庫,資料儲存在記憶體中,通過tcp直接存取,優勢是讀寫效能高。
(2)redis是記憶體型KV資料庫(鍵值儲存資料庫,其資料按照鍵值對的形勢進行組織、索引、儲存),不支援二級索引,支援list,set等多種
資料格式。適合儲存全域性變數,適合讀多寫少的業務場景。很適合做緩存。
(3)舉例:(資料統計)
比如微信token每兩小時重新整理一次,就比較適合用redis儲存,讀也比較方便;線上遊戲排行榜;計時達到一定時間後顯示相關廣告;按照使用者投票和時間排序,更新新聞;統計
在某段特點時間裡有多少特定使用者訪問了某個特定資源,統計哪些特定使用者訪問了某篇的文
(4)Redis能夠替代memcached,讓你的快取從只能儲存資料變得能夠更新資料。
3.memcached是記憶體型資料庫,可以做叢集,可以使用多核。Redis能夠替代memcached。