mongoDB和rEDis查询

从应用场景上理解就是:redis:数据量较小的更性能操作和运算上memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用sharding)mongodb:主要解决海量数据的访问效率问题当然还有很多方便的比较,但主要的区别还是不同的场景不同的需求适用于不同的工具.

MongoDB和Redis都是NoSQL,采用结构型数据存储.二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同.MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式.

Redis简介:支持多种数据结构,如 string(字符串)、 list(双向链表)、dict(hash表)、set(集合)、zset(排序set)、hyperloglog(基数估算) 支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作

简单说,做缓存需要考虑几点:1.缓存热点数据,针对自己的业务和数据结构特点,适当地选择或组合redis的数据结构进行存储.2.缓存的更新和失效策略.想不到了,以后再补充.举个例子:mongodb+redismongodb可以对数据进行聚合,后台起cron,对数据每小时mapReduce一次,计算好的数据写到redis中保存(也可以直接输出到mongo collection中),前台查询redis 拿到聚合好的数据.

从以下几个维度,对 redis、memcache、mongoDB 做了对比.1、性能 都比较高,性能对我们来说应该都不是瓶颈.总体来讲,TPS 方面 redis 和 memcache 差不多,要大于 mongodb.2、操作的便利性 memcache 数据结构单一.(key-value)

RethinkDB 简直是 NoSQL 中的黑科技,被网友誉为"MongoDB done things right",卖点是 实时性.比如:+ 自带 Admin UI,就是数据库在跑的时候,后台有个非常棒的管理界面,可以直接用上面的 consle 查询+ UI 上 一键 sharding 和 replica

mongodb和memcached(或redis)并不是竞争关系,更多的是一种协作共存的关系.mongodb本质上还是硬盘数据库,在复杂查询时仍然会有大量的资源消耗,而且在处理复杂逻辑时仍然要不可避免地进行多次查询.这时就需要memcached这样的内存数据库来作为中间层进行缓存和加速.比如在某些复杂页面的场景中,整个页面的内容如果都从mongodb中查询,可能要几十个查询语句,耗时很长.如果需求允许,则可以把整个页面的对象缓存至memcached中,定期更新.这样mongodb和memcached就能很好地协作起来.参考:PHP程序员,雷雪松的个人博客.

试着回答下支持事务上来说,Mongodb不支持事务,而redis支持事务.支持的数据类型来说,redis支持的数据类型更丰富,而MongoDB数据结构比较单一,但是支持丰富的数据表达,索引.MongoDB的集群支持比较成熟.所以,在一般使用情况下,mongodb可以当作简单场景下的但是性能高数倍的MySQL, Redis基本只会用来做缓存.

redis使用场景:涉及频繁读写、拥有简单数据模型的应用内容缓存,比如会话、配置文件、参数、购物车等存储配置和用户数据信息的移动应用mongodb使用场景:存储、索引并管理面向文档的数据或者类似的半结构化数据比如,用于后台具有大量读写操作的网站、使用JSON数据结构的应用、使用嵌套结构等非规范化数据的应用程序

首先你要了解这三种数据库的特性,不同数据库适用于不同的场景和需求,没有统一规定,但有合适不合适之分.

相关文档

mongodb和redis的区别
nosql和redis
mongdb和redis的区别
mongodb
redis和mangodb的区别
mongodb和mysql的区别
mangodb 存放pdf
redis
yhkn.net
qimiaodingzhi.net
eonnetwork.net
skcj.net
4405.net
电脑版