亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mongodb 或者redis 可以替代memcached 嗎?

mongodb 或者redis 可以替代memcached 嗎?

狐的傳說 2019-02-08 17:07:55
mongodb 或者redis 可以替代memcached 嗎
查看完整描述

2 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

mongodb和memcached不是一個范疇內的東西。mongodb是文檔型的非關系型數據庫,其優勢在于查詢功能比較強大,能存儲海量數據。mongodb和memcached不存在誰替換誰的問題。
和memcached更為接近的是redis。它們都是內存型數據庫,數據保存在內存中,通過tcp直接存取,優勢是速度快,并發高,缺點是數據類型有限,查詢功能不強,一般用作緩存。在我們團隊的項目中,一開始用的是memcached,后來用redis替代。
相比memcached:
1、redis具有持久化機制,可以定期將內存中的數據持久化到硬盤上。
2、redis具備binlog功能,可以將所有操作寫入日志,當redis出現故障,可依照binlog進行數據恢復。
3、redis支持virtual memory,可以限定內存使用大小,當數據超過閾值,則通過類似LRU的算法把內存中的最不常用數據保存到硬盤的頁面文件中。
4、redis原生支持的數據類型更多,使用的想象空間更大。
5、前面有位朋友所提及的一致性哈希,用在redis的sharding中,一般是在負載非常高需要水平擴展時使用。我們還沒有用到這方面的功能,一般的項目,單機足夠支撐并發了。redis 3.0將推出cluster,功能更加強大。
6、redis更多優點,請移步官方網站查詢。

查看完整回答
反對 回復 2019-03-06
?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

MongoDB不多說,不是一個類型的東西,Redis相對Memcached來說功能和特性上的優勢已經很明顯了。而對于性能,Redis作者的說法是平均到單個核上的性能,在單條數據不大的情況下Redis更好。為什么這么說呢,理由就是Redis是單線程運行的。
因為是單線程運行,所以和Memcached的多線程相比,整體性能肯定會偏低。
因為是單線程運行,所以IO是串行化的,網絡IO和內存IO,因此當單條數據太大時,由于需要等待一個命令的所有IO完成才能進行后續的命令,所以性能會受影響。
而就內存使用上來說,目前Redis結合了tcmalloc和jemalloc兩個內存分配器,基本上和Memcached不相伯仲。如果是簡單且有規律的key value存儲,那么用Redis的hash結構來做,內存使用上會驚人的變小,優勢是很明顯的。

查看完整回答
反對 回復 2019-03-06
  • 2 回答
  • 0 關注
  • 735 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號