吾爱源码
首页 > 站长学院 > 网络技术 > 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就充当缓存的角色了。

一般以上的搭配就可以满足大部分分布式大数据部署了,当然也可以把三者搭配使用。


  • 热门软件
  • 热门标签
返回顶部