MongoDB与Redis的区别?他们分别用在什么场景下最合适?

bluntFish 发布于 2016/05/22 08:17
阅读 17K+
收藏 3

最近在学习的时候,感觉对MongoDB与Redis的应用场景有点蒙,不知道这两个东西有什么核心应用区别,另外,还有人把这两个东西与Memcached比较,更是感觉风马牛不相及。

个人理解Memcached纯粹就是一个分布式的缓存架构,不能做数据持久化使用,而MongoDB与Redis是可以的。只是Redis也把数据放在了内存中,否则甚至都可以把Memcached作为MongoDB与Redis的缓存框架。

MongoDB与Redis究竟有何重大应用上的区别,也就是大家在框架选型的时候,选择那一个用为数据持久层是依据什么来的?个人以为如何用为企业应用开发(即MIS),是不是使用MongoDB更合适一点,毕竟它的数据检索什么的更像关系数据库那样。

加载中
0
fxhover
fxhover

mongodb是数据库,有复杂查询排序什么的比较方便;redis是内存缓存,可以当key value数据库来用。

0
fromdtor
fromdtor

memcached曾经的优势是可以集群,但是现在redis也可以了。

redis支持更多数据结构,支持数据持久化。所以redis可以看做memcached的超集。

redis最强大的特性是zset

redis有hash,但是只有一层深度,mongodb是有理论上无限深度的hash

mongodb是真正的数据库,而不是缓存数据库,他的竞争对手应该是mysql等rdb数据库

实际应用中,我认为最佳搭配是mysql + redis,操作都很方便,兼顾速度和容量

fromdtor
fromdtor
回复 @Hojave : memcached被redis淘汰是迟早的。mysql还没有被mongodb击败过。
whaon
whaon
回复 @Hojave : 现在基本上redis替代memcached了
bluntFish
bluntFish
如果用 mongoDB + memcached替代你说的 mysql+redis呢:) 看来我这个普通MIS,直接用mysql + memcached即可了。
0
曾经的十字镐
曾经的十字镐

看个人选择了Memcache是缓存数据类型只有kv,而Redis有丰富的数据类型hash set list kv..而且支持AOF RDB持久化,当然也可以把它当做缓存使用(需要关闭AOF,RDB)持久化功能,MongoDB 是一款NOSQL数据库 介于关系型数据库与NOSQL之间,可以完成更复杂查询功能的功能,而且支持分片和副本集(这点事最酷的)。

返回顶部
顶部