MongoDB之索引(唯一索引)
唯一索引的主要目的是用在某一个字段上,使该字段的内容不重复。范例:创建一个唯一索引> db.emp.createIndex({"name":1},{"unique":true}){ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, ...
MongoDB之索引(简介)
在任何数据库之中,索引都是一种提升数据库检索性能的手段。MongoDB数据库里面依然会存在两种索引创建:一种是自动创建,另外一种是手工创建。范例:重新准备一个新的简单集合。db.emp.drop();db.emp.insert({"name":"赵一","sex":"男","age":30,"sal":1000,"loc":"北京"});db.emp.insert({"name":"钱二","sex":"女",...
MongoDB之游标
所谓的游标就是指的数据可以一行一行的进行操作,非常类似与ResultSet数据处理,在MongoDB数据库里面,对于游标的控制非常简单,只需要使用find()函数就可以返回游标了。对于返回的游标,如果要想进行操作,可以使用两个函数: ● 判断是否有下一行数据:lastNext(); ● 取出当前数据:next()。> var curso...
MongoDB之数据删除
在MongoDB里面数据的删除实际上并不复杂,只需要使用“remove()”。这个函数有两个可选项: ● 删除条件:满足条件的数据被删除。 ● 是否只删除一个数据,如果设置为true或者是1,表示只删除一个范例:删除所有姓名里面带有“刘”的人员,默认情况下会全部删除> db.emp.remove({"name":/刘/})WriteResu...
MongoDB之数据更新(修改器)
对MongoDB数据库而言,数据的修改会牵扯到内容的变更,结构的变更(包含有数组)。所以在进行MongoDB设计的时候就提供有一系列修改器的应用。之前使用的“$set”就是一个修改器。1、$inc:主要针对于一个数字字段,增加某个数字字段的数据内容:语法:{"$inc":{"成员":"内容"}}范例:将年龄为30岁的一个员工的薪水一律1...
MongoDB之数据更新(更新函数)
对于MongoDB而言,数据的更新是一件很麻烦的事情,如果在实际工作当中,真的具有此类的操作支持,那么最好的做法:删掉在插入。在MongoDB里面对于数据的更新操作提供了两类函数:save()、update()如果要修改数据最直接的使用函数就是update()函数,但是这个函数的语法要求很麻烦。语法:db.集合.update(更新条件,新的对...
MongoDB之数据查询(分页显示)
在MongoDB里面的数据分页显示也是符合大数据要求的操作函数:skip(n):表示跨过多少数据行;limit(n):取出的数据行的个数限制。范例:分页显示(第一页,skip(0)、limit(5))> db.emp.find().skip(0).limit(5).sort({"age":-1}).pretty();{ "_id" : ObjectId("599108423...
MongoDB之数据查询(数据排序)
在MongoDB里面数据的排序操作使用“sort()”函数,在进行排序的时候可以有两个顺序:升序(1),降序(-1)。范例:数据排序> db.emp.find().sort({"sal":-1}).pretty();{ "_id" : ObjectId("599108433268c8e84253be2d"), "nam...
MongoDB之数据查询(正则表达式)
如果要想实现模糊查询,那么必须使用正则表达式,使用的是与Perl兼容的正则表达式的形式。如果要想实现正则表达式,则按照如下的定义格式: ● 基础语法:{key:正则表达式}; ● 完整语法:{key:{"$regex":正则标记,"$options":选项}}。对于options主要是设置正则的信息查询的标记: ● “i”:忽略...
MongoDB之数据查询操作
任何数据库之中,数据的查询操作都是最为麻烦的,而在MongoDB数据库里面,对于查询的支持非常到位。语法:“db.集合名称.find({查询条件}[,{设置显示的字段}])”范例:最简单的用法就是直接使用find()函数完成查询> db.info.find();范例:希望查询出url为“www.stone.com”的数据> db.info.find({"url":"www.stone.c...
MongoDB之数据增加操作
只要是数据库那么就绝对离不开最为核心的功能:CRUD,所以在MongoDB里面对于数据的操作也是支持的,但是需要提醒的是,除了增加之外,其它的都很麻烦。1、数据增加使用“db.集合.insert()”可以实现数据的增加操作。范例:增加一个简单数据> use hrswitched to db hr> db.info.insert({"url":"www.stone.com"});Wri...
MongoDB之基本操作
在MongoDB数据库里面是存在有数据库的概念的,但是没有模式(所有的信息都是按照文档保存的),文档的结构就是JSON结构,只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作符。1、切换到stone数据库:> dbtest执行 "db" 命令可以显示当前数据库对象> use stoneswitched to db stone> show databases;...
MongoDB之安装并配置
系统环境:[root@D2-LZY245 ~]# cat /etc/centos-releaseCentOS Linux release 7.2.1511 (Core) 如果是RHEL6版本,则需要先升级openssl:[root@oeldb1 ~]# rpm -qa | grep opensslopenssl-devel-1.0.1e-57.el6.x86_64openssl098e-0.9.8e-17.0.1.el6_2.2.x86_64openssl-1.0.1e-57.el6.x86_64安装包及版本:下载地...
Redis之集群部署
1、主从节点均安装好redis以及ruby。[root@D2-LZY245 redis-4.0.1]# yum -y install ruby ruby-devel rubygems rpm-build[root@D2-LZY245 redis-4.0.1]# gem install redis2、主节点创建集群目录、配置参数并启动[root@D2-LZY245 ~]# cd redis-4.0.1/[root@D2-LZY245 redis-4.0.1]# mkdir redis_cluster[root@D2-LZY...
Redis之发布与订阅
订阅者可以通过subscribe和psubscribe命令向redis server订阅自己感兴趣的消息类型。redis将信息类型称为通道(channel)。当发布者通过publish命令向redis server发送特定类型的信息时,订阅该信息类型的全备client都会收到此消息。会话1:监听频道1127.0.0.1:6379> subscribe tv1Reading messages... (press Ctrl-C to...
Redis之持久化
redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。redis支持两种持久化方式:1、snapshotting(快照)也是默认方式。将内存中的数据以快照的方式写入到文件。默认的文件名是dump.rdb。[root@D2-LZY245 redis-4.0.1]# grep ^save redis.confsave 900 1save 300 10save ...
Redis之事务处理
事务处理。127.0.0.1:6379> get age"30"127.0.0.1:6379> multiOK127.0.0.1:6379> set age 10QUEUED127.0.0.1:6379> set age 20QUEUED127.0.0.1:6379> exec1) OK2) OK127.0.0.1:6379> get age"20"如何取消一个事务。127.0.0.1:6379> multiOK127.0.0.1:6379> set age 30QUEUED127.0.0.1:6379> set age 4...
Redis之主从复制
主从复制:1、master可以拥有多个slave。2、多个slave可以连接同一个master外,还可以连接到其他slave。3、主从复制不会阻塞master,在同步数据时,master可以继续处理client请求。4、提高系统的伸缩性。主从复制过程:1、slave与master建立连接,发送sync同步命令。2、master会启动一个后台进程,将数据库快照保存...
redis之常用命令
keys:返回满足给定pattern的所有key。127.0.0.1:6379> keys * 1) "num1" 2) "mylist3" 3) "key3" 4) "myzset2" 5) "name" 6) "mylist6" 7) "myset7" 8) "myzset3" 9) "myset3"10) "num2"11) "myhash"12) "myset6"13) "myset4"14) "mylist2"15) "key1"16) "...
Redis之zset类型及操作
zset是string类型的有序集合zadd:向名称为key的zset中添加元素member,score用于排序。如果该元素存在,则更新其顺序。127.0.0.1:6379> zadd myzset 1 one(integer) 1127.0.0.1:6379> zadd myzset 2 two(integer) 1127.0.0.1:6379> zadd myzset 3 two(integer) 0127.0.0.1:6379> zrange myzset 0 -1 withscores1...