吾愛源碼
首頁 > 站長學院 > 網絡技術 > mongodb、Memcached、redis 三種區別

mongodb、Memcached、redis 三種區別

作者:佚名 來源:吾愛源碼 2017-08-15 18:10:23

mongodb、Memcached、redis 三種區別


首先要說 mongodb與redis 都是nosql數據庫,本質是數據庫,而Memcached只是緩存系統,服務器重啟就會丟失數據 (因為Memcached數據放在內存中)!!而mongodb與redis則不會


和memcached更為接近的是redis。它們都是內存型數據庫,數據保存在內存中,通過tcp直接存取,優勢是速度快,并發高,缺點是數據類型有限,查詢功能不強,一般用作緩存。在我們團隊的項目中,一開始用的是memcached,后來用redis替代。


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更多優點,請移步官方網站查詢。


所以很多團隊都是用redis來替代memcached來做mysql的數據緩存,當然單純的用redis做數據庫也是可以的。


mongodb是文檔型的非關系型數據庫,其優勢在于查詢功能比較強大,能存儲海量數據!而且是可以替代mysql的,也就是說用PHP寫代碼,數據庫不用mysql 直接用mongodb ,同樣適合集群分布式部署!


下面再說說mongodb與redis的區別

MongoDB更類似MySQL,支持字段索引、游標操作,其優勢在于查詢功能比較強大,擅長查詢JSON數據,能存儲海量數據,但是不支持事務,而redis則支持!

redis支持的數據結構豐富,包括hash、set、list等。 MongoDB數據結構比較單一,但是支持豐富的數據表達,索引,最類似關系型數據庫,支持的查詢語言非常豐富!


再說說 mongodb、redis與mysql的配合使用!據老C個人經驗了解到,一般情況下大多數團隊使用redis與mysql搭配使用,redis做緩存,mysql做數據庫。 而mongodb則直接替代mysql來使用,當然也可以把mongodb與mysql并存,則mongodb就充當緩存的角色了。

一般以上的搭配就可以滿足大部分分布式大數據部署了,當然也可以把三者搭配使用。


  • 熱門軟件
  • 熱門標簽
返回頂部
黑龙江新11选5开奖结果