mongodb系列-数据库的创建和删除
mongodb创建数据库可以直接用use先看看有哪些db:> show dbsadmin (empty)local 0.078GBmydb 0.078GBtest (empty)> 再新建一个数据库mytestdb:> use mytestdbswitched to db mytestdb> 如果什么都不操作离开的...
mongodb系列-文档的插入和删除
文档插入方式一:>db.mongo.insert({name:"jack",age: 30}); WriteResult({"nInserted" : 1 })> db.mongo.find();{ "_id" :ObjectId("54ded72e0dc51419494b4565"), "name" :"jack", "age" : 30 }文档插入方式二:> j = { name :"mongo" };{ "name" :"mongo" }> t = { x : 3 };...
mongodb系列-文档的查询
文档的查询: 1,集合查询方法 find() 查询集合中文档并返回结果为游标的文档集合 查询集合中所有文档:db.collection.find()//或者db.collection.find({}) 筛选符合条件的文档:db.user.find({age:20}) 2,条件操作符查询db.collectio...
mongodb系列-访问控制
默认启动 MongoDB 服务时没有任何参数,可以对数据库任意操作,而且可以远程访问数据库,所以推荐开发阶段可以不设置任何参数,但对于生产环境还是要仔细考虑一下安全方面的因素,而提高 MongoDB 数据库安全有几个方面:1,绑定IP 内网地址访问MongoDB 服务2,设置监听端口3,使用用户名和口令登录&...
mongodb系列-数据导入导出
实用工具mongoexport 和mongoimport来进行数据的导入和导出mongoexport导出:有一张user 表,里面有2 条记录,我们要将它导出> use my_testdbswitched to db my_testdb> db.user.find();{ "_id" :ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2,"username" : "Jerry", "age" : 100 }{...
mongodb系列-数据恢复
先介绍下命令语法: >mongorestore -h dbhost -ddbname --directoryperdb dbdirectory -h:MongoDB服务器地址 -d:需要恢复的数据库实例,例如:test,这个名称也可以和备份时候的不一样,比如testdb --directoryperdb:备份数据所在位置 --drop...
mongodb系列-数据备份
mongodb的备份主要有热备和冷备。一,冷备: 停止mongodb服务,直接copy数据目录;启动mongodb时,可以用--dbpath指定自己设置的数据库存储目录 二,热备:用mongodump 来做MongoDB 的库或表级别的热备份。 先介绍下命令语法:>mongodump -h dbhost -ddbna...
mongodb系列-体系结构
MongoDB 的逻辑结构是主要由:文档(document)、集合(collection)和数据库(database)这三部分组成的。MongoDB 的文档(document),相当于关系数据库中的一行记录集合(collection),相当于关系型数据库中的表的概念文档(document)、集合(collection)、数据库(database)的层次结构如下图:文档(document...
mongodb系列-conf配置文件
启动MongoDB有2种方式,一种是直接默认启动,另一种是指定配置文件。启动方式如下:1: /etc/init.d/mongod start 或service mongod start 2: mongod --config /etc/mongodb.conf下面我们看看配置文件:vi /etc/mongod.conf# 日志文件位置logpath=/var/log/mongo/mongod.log# 以追加方式写入日...
mongodb系列-介绍和安装
从今天开始把mongodb给系列整理一下 一,mongodb是什么MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB使用C++开发。MongoDB的官方网站地址是:http://www.mongodb.org。 二...
php解析域名问题
最近一段时间公司正在做自动化运维,在用域名代替VIP的时候报错。我们找查原因发现PHP中的一个编译参数--with-curlwrappers影响直接使用域名,这是一个实验性的参数,在后续的版本中不再出现,我们现在的php版本是php-5.4.14。解决方法:在php重编译的时候将这个参数去掉,就不再报错了。 我们先./c...
redis续16-发布和订阅
发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这和设计模式中的观察者模式比较相似。redis将消息类型称为通道(channel)。当发布者通过publish 命令向redisserver 发送特定类型的消息时。原理是这样的:“发布/订阅”模式中包含两种角色,分别是发布者和订阅者...
redis续15-虚拟内存的使用
redis是一种内存数据库。redis没有使用操作系统提供的虚拟内存机制而是自己在实现了自己的虚拟内存机制,主要因为操作系统的虚拟内存是以4k 页面为最小单位进行交换的,而redis 的大多数对象都小于4k,所以一个操作系统页面上可能有多个redis 对象。而且集合对象类型可能会存在多个操作系统的页面上。redis ...
redis续14-持久化
我们经常拿redis和memcached进行比较,他们主要区别之一就是持久化。redis 是一个支持持久化的内存数据库,redis会把内存中的数据同步到磁盘来保证持久化;而memcached是不支持持久化的内存数据库,如果宕机了,数据就没有了…… redis提供持久化机制:1,RDB持久化在指定的时间间隔内将内存中...
redis续13-乐观锁
先说一下什么是乐观锁。百度百科的介绍是:乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁机制采取了更加宽松的加锁机制。悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之而来的就是数据库性能的大量开销,特别是对长事务而言,这样的开销往往无法承受。而乐观锁...
redis续12-事务
Redis和众多的关系型数据库一样,也有提事务机制。在Redis中,主要有MULTI/EXEC/DISCARD/WATCH/UNWATCH这些命令来操作事务。如果有接触过关系型数据库的朋友,一样听说过事务中的一个典型的案例就是银行汇款!事务有一个重要的特性,就是要么全部执行,要么全部不执行,若中断必回滚回去!在redis的事务...
redis续11-sentinel高可用
上一篇文章,我们研究了redis的主从,即master-slave。现在更深入一下,如果master宕机,slave能不能自动切换成master呢?这个问题交给sentinel(哨兵)就可以了,当然这是在redis 3.0版本之前的解决方案。sentinel主要是为Redis master-slaves集群进行master存活检测;进行m-s服务监控;以及出现故障后,进行自动...
redis续10-主从复制
今天是2月1日,期待redis的3.0版本发布,期待集群功能效果。查看了一下官网,是redis 3.0.0 RC-3版本,截图如下:但愿稳定的版本2月中旬会发布,期待中……回到标题,开始介绍redis的主从复制,先上图:从上图我们可以看出:redis的从数据库不仅可以接收主数据库的同步数据,自己也可以同时作为...
redis续9-安全性(为redis设置密码)
Redis的默认配置会接受来自任何地址发送来的请求,所以安全性必须要考虑。在redis的配置文件中,我们可以修改bind参数和requirepass参数来增强redis的安全。1,修改bind参数,例如:只允许本机应用连接Redis,可以改成bind 127.0.0.12,通过配置文件中的requirepass参数为Redis设置一个密码例如:...
redis续7-常用的操作命令
目前的redis稳定版本是2.8版本,支持主从复制,对高可用等集群支持的不好。据说redis 3.0版本增加了cluster功能,拭目以待!刚刚看了redis官网,redis 3.0版本:“The stable release is scheduledfor the first days of February 2015. ”Redis 除了典型的5种数据类型之外,还有一些常用的命令和服务器命令,今...