1. 程式人生 > >Redis和Mongodb應用場景研究

Redis和Mongodb應用場景研究

現在的分散式專案基本都會用到redis和mongodb,可是redis和mongdb到底有什麼不同呢,今天我就基於我們公司的專案來具體介紹一下redis和mongodb的各自的應用場景。首先我們這個專案中有兩種應用場景:場景一:要求TPS(不知道的右轉百度)特別高的,比如我們專案有一個點讚的功能,這個點讚的功能促發頻率特別高,而且併發量也會特別大,但是它的資料量不會特別大。基於這種情況下,我們採用redis來實現點贊功能。場景二:專案中涉及評論的內容,而且這個評論表的資料後期會非常大(海量的資料),最後在資料量非常大的情況下還要求比較複雜的查詢。基於上述這些情況,我們採用mongodb作為評論表儲存資料庫。應用升級:現在在給大家介紹一下我們專案中關於redis和mongodb深入的應用,我們接著上面的應用場景繼續往下說。下面我們接著深入上面的這兩個場景,例如下面的這兩個場景:
場景一:比如我們上面說到的場景一中點贊這個行為,因為我們專案對點贊這個資料的安全性要求特別高,而且取消點讚的過程種會涉及其它關聯的操作,而且必須保證是執行緒是安全的,最重要的是我們需要redis高可用性,不能輕易的掛掉。這個時候我們就用到了redis中資料持久化和分散式鎖的內容了,通過redis資料持久化,我們可以將快取的資料儲存到本地中來。利用redis分散式鎖,我們可以控制取消點贊資料安全問題。關於高可用性的話,我們可以採用redis叢集來實現,redis叢集我們採用rediscluster來實現,這樣我們就可以實現點贊這種場景的所有要求了。場景二:我們接著評論表的內容,剛開始評論表可能資料不是特別大,可是隨著時間的增長,評論表的資料會越來越大,但是我們查詢的時間要控制在一段的間內,不能太久才搜尋到相關的評論。最後也是同樣的要求,評論查詢的高可用性。基於這種場景我們可以採用mongodb中的分片
來實現,通過mongodb的分片機制,我們可以將海量的資料查詢分別負載到不同的分片伺服器上面,最後將資料查詢的資料結果整合到一起。基於這種情況,不管資料量有多大,我們都可以實現快速的查詢功能,查詢時間約等於(資料量/分片數量)。分片其實本身就是一種高可用性的方案,因為每一個分片都保留著完整的一份資料,每次插入資料的時候,先插入一個主分片中,然後同步複製到所有從分片中,即使一個分片掛了,其餘分片也能自動升級為主分片,繼續工作。疑問點:

這邊可能會有人要問,既然每片的資料都一樣,那查詢的時間不肯定也一樣嗎,怎麼可能是(資料量/分片數量),不應該是(資料量*分片數量)時間嗎。關於這個疑問的話,大家可能得仔細研究一下mongodb分片的規則了,mongodb分片的同時也會把資料進行分片劃分,同樣一份資料但是每片查詢的區域是不一樣的,比如分片一

會查詢資料的前半截,然後分片二會查詢資料的後半截。這樣不就可以做到同樣的一份資料,但是每一份查詢的資料區域都是不一樣的。我這邊只是簡單的說明,想具體研究的話,可以自己百度百度研究研究。

想要更多幹貨、技術猛料的孩子,快點拿起手機掃碼關注我,我在這裡等你哦~

相關推薦

RedisMongodb應用場景研究

現在的分散式專案基本都會用到redis和mongodb,可是redis和mongdb到底有什麼不同呢,今天我就基於我們公司的專案來具體介紹一下redis和mongodb的各自的應用場景。首先我們這個專案

nosql資料庫:mongodb,redis,memcached,其優缺點使用應用場景

1.mongodb (1)是文件型的非關係型資料庫,使用bson結構。其優勢在於查詢功能比較強大,能儲存海量資料,缺點是比較消耗記憶體。 (2)一般可以用來存放評論等半結構化資料,支援二級索引。 適合儲存json型別資料,不經常變化。 (3)舉例: a.網站資料:非常適合實時的插

Redis的五種儲存型別應用場景

常用資料型別簡介: redis常用五種資料型別:string,hash,list,set,zset(sorted set). 1.String型別 String是最簡單的型別,一個key對應一個value String型別的資料最大1G。 String

NoSQL—非關係型資料庫RedisMongoDB應用

回顧下基礎,什麼是NoSQL NoSQL,即Not Only SQL,指的是非關係型的這一類資料庫,它與關係型資料庫的區別主要在於資料儲存結構的不同,關係型資料庫採用的結構化的資料,NoSQL採用的是鍵值對的方式儲存資料,NoSQL主要用於解決web2.0中出現的超大規模和

TCPUDP應用場景

通信 socket 客戶端 區別 階段 log 大量 一次 三次 tcp是一種面向連接的、可靠的、基於字節流的傳輸層通信協議。是專門為了在不可靠的互聯網絡上提供一個可靠的端到端字節流而設計的,面向字節流。 udp(用戶數據報協議)是iso參考模型中一種無連接的傳輸層協

視覺slam領域經典綜述具體應用場景

此外 一致性 固定 三維重建 之一 攝像 cad 左右 nsa 一、經典綜述文章 1. Durrant-Whyte H, Bailey T. Simultaneous localization and mapping: part I[J]. IEEE robotics &

Redis簡介及應用場景

sub ffi Redis介紹 comment 插入數據 數據 tag l數據庫 排序 一丶Redis介紹 Redis是一個開源的 key—value型 單線程 數據庫,支持string、list、set、zset和hash類型數據。 默認端口:6379 默認數據庫數量:1

Redis MongoDB 的優缺點

auto 在線擴容 tle mysq sha 能夠 註意 前端 運維人員 MongoDB 和 Redis 都是 NoSQL,采用結構型數據存儲。二者在使用場景中,存在一定的區別, 這也主要由於二者在內存映射的處理過程,持久化的處理方法不同。MongoDB 建議集群部署

MongoDB 應用場景、避坑事項與最佳實踐

社群最近組織了交流活動,探討MongoDB適合的應用場景、避坑事項與最佳實踐。由社群專家劉誠傑根據交流內容整理成文,無論是MongoDB零基礎的小夥伴,還是正在應用中的朋友,在此均可以找到有價值的經驗和分享。 劉誠傑,專注於MongoDB、MySQL、Redis等開源資料庫的使用與研究,Mo

redismongodb的比較

作者:javashareauthor  來源:CSDN  原文:https://blog.csdn.net/javashareauthor/article/details/80444771  版權宣告:本文為博主原創文章,轉載請附上博文連結! >>Redi

Redis概念及應用場景

不管你是從事Python、Java、Go、PHP、Ruby等等… Redis都應該是一個比較熟悉的中介軟體。而大部分經常寫業務程式碼的程式設計師,實際工作中或許只用到了set value、get value兩個操作。對Redis缺乏一個整體的認識。今天就來對Redis的常見問題做一個總結。希望能夠幫

MySQL、Redis MongoDB 的優缺點

MySQL MySQL 是一個關係型資料庫。 MySQL在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關

MongoDB 應用場景?

月初在雲棲社群上發起了一個 MongoDB 使用場景及運維管理問題交流探討 的技術話題,有近5000人關注了該話題討論,這裡就 MongoDB 的使用場景做個簡單的總結,談談什麼場景該用 MongoDB? 很多人比較關心 MongoDB 的適用場景,也有使用者在話題裡分享了

redismongodb服務安裝到系統服務中

安裝mongodb服務 mongod --logpath E:\MongoDB\logs\mongodb.log --logappend --dbpath E:\MongoDB\data --di

黃連金:NULS區塊鏈技術評析落地應用場景介紹

作者:黃連金 NULS顧問。美國 ACM Practitioner Board 委員、美國分散式商業應用公司創始人兼CEO、中國電子學會區塊鏈專家委員、美國 CISSP (ISC註冊資訊系統安全專家)、前華為區塊鏈專家。 ![] 什麼才是有價值的技術? 我們不斷的談論區塊鏈技術如何落

《NoSQL入門之RedisMongoDB

①微信公眾號(文藝小殿分殿):微信ID(sixiaoxiaoyou) ②QQ群|微信群(綜合小殿): QQ群名:Share,群號:147022251 文藝青年加微信:【jayysly】(備註【Share】),群主稽核後進Share微信群

Redis的典型應用場景

介紹 redis是鍵值對的資料庫,常用的五種資料型別為 字串型別(string),雜湊型別(hash),列表型別(list),集合型別(set),有序集合型別(zset) Redis用作快取,主要兩個用途:高效能,高併發,因為記憶體天然支援高併發 redis應用場景 分散

【轉】 MongoDB 應用場景、避坑事項與最佳實踐

  MongoDB 是一個高效能,開源,無模式的文件型資料庫,是當前 NoSQL 資料庫產品中最熱門的一種。它在許多場景下可用於替代傳統的關係型資料庫或鍵/值儲存方式,MongoDB 使用 C++開發。 為什麼要用 NoSQL NoSQL,全稱是”Not Only Sql”,指的

設計模式之——單例模式(Singleton)的實現、優缺點常見應用場景

單例模式(Singleton)也叫單態模式,是設計模式中最為簡單的一種模式,甚至有些模式大師都不稱其為模式,稱其為一種實現技巧,因為設計模式講究物件之間的關係的抽象,而單例模式只有自己一個物件,也因此有些設計大師並把把其稱為設計模式之一。 好多沒怎麼使用過的人可能會想,單例模式感覺不怎麼用到,實際的應

深入分析Redis特點及應用場景

Redis的特點: Redis 與其他 key - value 快取產品有以下三個特點: Redis支援資料的持久化,