1. 程式人生 > >memcache和redis、Mongodb優缺點及應用場景

memcache和redis、Mongodb優缺點及應用場景

1.mongodb 埠(27017)

(1)是文件型的非關係型資料庫,使用bson結構。其優勢在於查詢功能比較強大,能儲存海量資料,缺點是比較消耗記憶體。

(2)一般可以用來存放評論等半結構化資料,支援二級索引。 適合儲存json型別資料,不經常變化。

優點:

l  文件結構的儲存方式,能夠更便捷的獲取資料

l  內建GridFS,支援大容量的儲存

l  內建Sharding,分片簡單

l  海量資料下,效能優越

l  支援自動故障恢復(複製集)

缺點:

l  不支援事務操作

l  佔用空間過大

l  MongoDB沒有如MySQL那樣成熟的維護工具

l  無法進行關聯表查詢,不適用於關係多的資料

l  複雜聚合操作通過mapreduce建立,速度慢

| 模式自由,  自由靈活的檔案儲存格式帶來的資料錯誤

應用場景:

2.redis 埠(6379)

(1)是記憶體型資料庫,資料儲存在記憶體中,通過tcp直接存取,優勢是讀寫效能高。

(2)redis是記憶體型KV資料庫(鍵值儲存資料庫,其資料按照鍵值對的形勢進行組織、索引、儲存),不支援二級索引,支援list,set等多種資料格式。適合儲存全域性變數,適合讀多寫少的業務場景。很適合做快取。

優點:

1.支援多種資料型別 string、list、set、zset、hash,

2.資料可以持久化保持(AOF、快照),寫入硬碟,

3.支援災難恢復,主從複製。主機會自動將資料同步到從機,可以進行讀寫分離。

4.讀寫效能優異。

缺點:

1.redis不支援自動容錯和恢復功能,主從當機都會導致前端讀寫失敗,需手動前端Ip或者機器重新啟動

2.主機宕機,主從資料複製過程中,資料未完全複製到從機。會出現資料不一致。

3.redis較難支援線上擴容,當叢集資料達到上限線上擴容變得複雜。

應用場景:

1.配合關係型資料庫做快取記憶體

2.快取高頻次資料,降低資料庫io

3.分散式架構,做session共享

例子:比如微信token每兩小時重新整理一次,就比較適合用redis儲存,讀也比較方便;

線上遊戲排行榜;計時達到一定時間後顯示相關廣告;按照使用者投票和時間排序,更新新聞;

統計在某段特點時間裡有多少特定使用者訪問了某個特定資源,統計哪些特定使用者訪問了某篇的文章;

3.Memcached 是一個高效能的分散式記憶體物件快取系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和物件來減少讀取資料庫的次數,從而提供動態、資料庫驅動網站的速度。Memcached基於一個儲存鍵/值對的hashmap。

埠(11211)

優點:

 一.部分容災

假設只用一臺memcache,如果這臺memcache伺服器掛掉了,那麼請求將不斷的衝擊資料庫,這樣有可能搞死資料庫,從而引發”雪崩“。如果使用多臺memcache伺服器,由於memcache使用一致性雜湊演算法,萬一其中一臺掛掉了,部分請求還是可以在memcache中命中,為修復系統贏得一些時間。

 二.容量問題

一臺memcache伺服器的容量畢竟有限,可以使用多臺memcache伺服器,增加快取容量。

 三.均衡請求

使用多臺memcache伺服器,可以均衡請求,避免所有請求都衝進一臺memcache伺服器,導致伺服器掛掉。

四.利用memcache分散式特性

使用一臺memcache伺服器,並沒有利用memcache的資料分散式特性。

缺點:

1.不能持久化儲存

   2.儲存資料有限制:1M 【大於1M,認為就行分割】(記憶體碎片)

   3.mm儲存資料只能key-value

   4.叢集資料沒有複製和同步機制 【崩潰不會影響程式,會從資料庫中取資料】

   5.記憶體回收不能及時  LRU(演算法):未使用記憶體》過期記憶體》最近最少使用記憶體   這是惰性刪除

應用場景:

1.分散式應該,

2.資料庫前段快取,

3.伺服器間資料共享。

相關推薦

memcacheredisMongodb優缺點應用場景

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

順序表鏈表的優缺點使用場景

sla rtl logs info dvd www. www html phy 54nksi藤興痘苑挖慕http://t.docin.com/mfcd951rfnjeo址人仙棺攣刻http://weibo.com/u/618911099514181s苛吩纖憾勒俸http:/

applyMiddleware原理middleware中介軟體原理應用場景

  首先看下redux執行流程: redux設計思想: (1)Reducer:純函式,只承擔計算 State 的功能,不合適承擔其他功能,也承擔不了,因為理論上,純函式不能進行讀寫操作。 (2)View:與 State 一一對應,可以看作 State 的視覺層,也

悲觀鎖樂觀鎖的區別應用場景

資料的鎖定分為兩種,第一種叫作悲觀鎖,第二種叫作樂觀鎖。 1、悲觀鎖,就是對資料的衝突採取一種悲觀的態度,也就是說假設資料肯定會衝突,所以在資料開始讀取的時候就把資料鎖定住。【資料鎖定:資料將暫時不會得到修改】 2、樂觀鎖,認為資料一般情況下不會造成衝突,所以在資料進行提交

Redis的資料結構應用場景

一. 談談對redis的理解,它的應用場景。 Redis是一個key-value儲存系統,它支援儲存的value型別包括string字串、list連結串列、set集合、sorted Set有序集合和hash雜湊等資料型別。這些資料型別都支援push/pop、add/remove及取交集並集和差集

各種機器學習的優缺點應用場景

在我們日常生活中所用到的推薦系統、智慧圖片美化應用和聊天機器人等應用中,各種各樣的機器學習和資料處理演算法正盡職盡責地發揮著自己的功效。本文篩選並簡單介紹了一些最常見演算法類別,還為每一個類別列出了一些實際的演算法並簡單介紹了它們的優缺點。 目錄 正則化演算法(Re

redis 釋出訂閱模式應用場景

一:命令簡介  從redis手冊上面可以看到,其實“釋出、訂閱”模式才區區6個命令,下面聽我一一解說下哈~~~1. subscribeSUBSCRIBE channel [channel ...] 訂閱給定的一個或多個頻道的資訊。     從上面的官方解釋上來看,它的玩法有

lvs,nginx,haproxy負載均衡軟體優缺點應用場景

Nginx/LVS/HAProxy的基於Linux的開源免費的負載均衡軟體。LVS:使用叢集技術和Linux作業系統實現一個高效能、高可用的伺服器,它具有很好的可伸縮性、可靠性和可管理性,是一款強大實用的開源軟體。LVS的優點:1:抗負載能力強、是工作在網路4層之上僅作分發之

memcacheredismongodb優缺點對比

1.memcache: 1M 1>優點:利用多核心優勢,單例項吞吐量可達到幾十萬qps(日常4-6萬) 適用於最大程度抗量

RedisMongoDBMemcached的區別

Redis、MongoDB及MemcacRedis(內存數據庫)   是一個key-value存儲系統(布式內緩存,高性能的key-value數據庫)。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set -

Memcacheredis的區別選擇

一、Memcache 1.memecache 把資料全部存在記憶體之中,斷電後會掛掉,資料不能超過記憶體大小 redis有部份存在硬碟上,這樣能保證資料的永續性。 2.Memcache使用了Slab Allocator的記憶體分配機制:按照預先規定的大小,將分配的記憶體分割成特定長度

ArrayListLinkedList的區別優缺點以及應用場景

ArrayList和LinkedList都是實現了List介面的容器類,用於儲存一系列的物件引用。他們都可以對元素的增刪改查進行操作,那麼他們區別、優缺點應用場景都有哪些呢?我們通過原始碼和資料結構來說明一下 ArrayList和LinkedList的大致區別如下: Ar

redis持久化的RDBAOF優缺點常用配置

1、簡介 Redis是一種高階key-value資料庫。它跟memcached類似,不過資料可以持久化,而且支援的資料型別很豐富。有字串,連結串列,集 合和有序集合。支援在伺服器端計算集合的並,交和補集(difference)等,還支援多種排序功能。所以Redis也可以被看成是一個數據結構服務

詳細分析HFSSADSCST各自優缺點應用範圍,看看你到底應該學習哪種模擬?

原網址:http://rf.eefocus.com/module/forum/thread-552576-1-1.html 好多RF工程師初學者一直問:我應該學習那種模擬工具呢?從哪個入手更簡單一點兒?我想這個不能用學習的難易程度來決定學習哪一個,而是應該根據

MysqlMongoDB效能對比應用場景分析

一、前言 為什麼調研MongoDB?   下圖是DB-Engines2017年8月資料庫的排名統計,可以看到MongoDB總排名在第5,在Nosql資料庫中排名第1。 優點: 1)社群活躍,使用者較多,應用廣泛。 2)MongoDB在記憶體充足

【NoSQL】NoSQL簡介常用的NoSQL資料庫對比(RedisMongoDBHBase等)

基本含義 NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項全新的資料庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關係型的資料儲存,相對於鋪天蓋地的關係型資料庫運用,這一概念無疑是一種全新的思維的注入。 2NoSQL

memcacheredis服務器的搭建

下載 4.3 備註 download window down bsp wget emc 準備工作:打開putty工具進入linux系統登陸後輸入以下命令以及修改相關內容 Memcache安裝(逐行執行): yum -y install memcached /etc/rc.d

Memcacheredis的區別

line 程序 意義 根據 想法 機房 過期 管理 支持 源鏈接:http://gnucto.blog.51cto.com/3391516/998509 傳統MySQL+ Memcached架構遇到的問題   實際MySQL是適合進行海量數據存儲的,通過Memcached將

MemcachedRedisMongoDB

col 同步機制 asc rdquo 日誌 更多 類型 追加 根據 Memcached:Memcache就是一個普通的程序,這個程序進程先申請一個內存,預先將可支配的內存空間進行分區,每個分區裏再分成多個塊最大1M,但同一個分區裏,塊的長度是固定的,當數據來的時候通過Soc

05: 分布式文件系統 FastDFS原理 FastDFS配置應用

ble opp +++ load tin 分布式存儲 isa 4.2 libev 部署分布式存儲服務一、分布式文件系統介紹 二、配置分布式存儲服務2.1 配置主控節點(111) 裝包 修改配置文件 啟動服務 查看端口]# yum -y install