Redis数据库跟MongoDB数据库有什么区别呢

Redis数据库跟MongoDB数据库有什么区别呢,第1张

1、基于mongo实现远程连接

[plain] view plaincopy

mongo -u admin -p admin 1921680197:27017/pagedb

通过mongo实现连接,可以非常灵活的选择参数选项,参看命令帮助,如下所示:

[plain] view plaincopy

mongo --help

MongoDB shell version: 183

usage: mongo [options] [db address] [file names (ending in js)]

db address can be:

foo foo database on local machine

19216905/foo foo database on 19216805 machine

19216905:9999/foo foo database on 19216805 machine on port 9999

options:

--shell run the shell after executing files

--nodb don't connect to mongod on startup - no 'db address'

arg expected

--quiet be less chatty

--port arg port to connect to

--host arg server to connect to

--eval arg evaluate javascript

-u [ --username ] arg username for authentication

-p [ --password ] arg password for authentication

-h [ --help ] show this usage information

--version show version information

--verbose increase verbosity

--ipv6 enable IPv6 support (disabled by default)

2、基于MongoDB支持的javascript实现远程连接

当你已经连接到一个远程的MongoDB数据库服务器(例如,通过mongo连接到1921680184),现在想要在这个会话中连接另一个远程的数据库服务器(1921680197),可以执行如下命令:

[plain] view plaincopy

> var x = new Mongo('1921680197:27017')

> var ydb = xgetDB('pagedb');

> use ydb

switched to db ydb

> db

ydb

> ydbpagefindOne()

{

"_id" : ObjectId("4eded6a5bf3bfa0014000003"),

"content" : "巴黎是浪漫的城市,可是",

"pubdate" : "2006-03-19",

"title" : "巴黎:从布鲁塞尔赶到巴黎",

"url" : ">

你需要有一个字段标示写入数据库的时间,然后查询的时候,设定查询时间段: dbthingsfind(}) // 大于某个时间 dbthingsfind(}) // 小于某个时间 dbthing4545

dbuserfind()count(); ==> 这个快是因为 _id作为主键是一个相对小的索引

而对应的mysql里是走的全表扫描

如果你设计的表结构很满足范式,那么其实并不是MongoDB所擅长的场景,你不会觉得mongodb有多快

dbdaocom it在线教育

MongoDB已经流行了很长一段时间,相对于MySQL,究竟什么场景更需要用MongoDB?下面是一些总结。

更高的写入负载

默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景。但是应当避免在高事务安全性的系统中使用MongoDB,除非能从架构设计上保证事务安全。

高可用性

MongoDB的复副集(Master-Slave)配置非常简洁方便,此外,MongoDB可以快速响应的处理单节点故障,自动、安全的完成故障转移。这些特性使得MongoDB能在一个相对不稳定(如云主机)的环境中,保持高可用性。

数据量很大或者未来会变得很大

依赖数据库(MySQL)自身的特性,完成数据的扩展是较困难的事,在MySQL中,当一个单达表到5-10GB时会出现明显的性能降级,此时需要通过数据的水平和垂直拆分、库的拆分完成扩展,使用MySQL通常需要借助驱动层或代理层完成这类需求。而MongoDB内建了多种数据分片的特性,可以很好的适应大数据量的需求。

基于位置的数据查询

MongoDB支持二维空间索引,因此可以快速及精确的从指定位置获取数据。

表结构不明确,且数据在不断变大

在一些传统RDBMS中,增加一个字段会锁住整个数据库/表,或者在执行一个重负载的请求时会明显造成其它请求的性能降级。通常发生在数据表大于1G的时候(当大于1TB时更甚)。 因MongoDB是文档型数据库,为非结构货的文档增加一个新字段是很快速的 *** 作,并且不会影响到已有数据。另外一个好处当业务数据发生变化时,是将不在需要由DBA修改表结构。

没有DBA支持

如果没有专职的DBA,并且准备不使用标准的关系型思想(结构化、连接等)来处理数据,那么MongoDB将会是你的首选。MongoDB对于对像数据的存储非常方便,类可以直接序列化成JSON存储到MongoDB中。 但是需要先了解一些最佳实践,避免当数据变大后,由于文档设计问题而造成的性能缺陷。

以上就是关于Redis数据库跟MongoDB数据库有什么区别呢全部的内容,包括:Redis数据库跟MongoDB数据库有什么区别呢、mogodb怎么用robomongo导出数据、mongodb mdmp是什么文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10128038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存