- 浏览: 4259398 次
- 性别:
- 来自: 北京
最新评论
-
masuweng:
...
kaptcha验证码组件使用简介 -
caobingyi:
你好,问下html是怎么调用loginCheck方法的?
kaptcha验证码组件使用简介 -
hayoouch:
XieFuQ 写道既然都考虑到乐观锁了,是否可以直接换表存储引 ...
mysql乐观锁总结和实践 -
murdonson:
辛苦了
mysql悲观锁总结和实践 -
iamnotstar:
写得不错,感谢分享
memcached-session-manager配置
文章列表
在关系型数据库中,通过连接运算符可以实现多个表联合查询。而非关系型数据库的特点是表之间属于弱关联,Mongodb作为Nosql代表,其本身特性不建议对多Collection关联处理,不过对于有些需要对多表关联处理的需求,Mongodb也可以实现。主要分为两种方式:简单手工关联和DBRef方式关联
1.简单手工关联
下图表示帖子和用户两个Collection的ER图:
首先将authors集合中的用户对象查询出来,放在一个变量author中,代码如下:
> author=db.authors.findOne({name:"chenzhou"})
{
...
Mongodb可以通过命令行方式和配置文件的方式来启动,具体命令如下:
命令行:
[root@localhost mongodb]# ./bin/mongod --dbpath=/data/db
配置文件:
[root@localhost mongodb]# ./bin/mongod -f mongodb.conf
但是这两种方式都是在前台启动Mongodb进程,如果Session窗口关闭,Mongodb进程也随之停止。不过Mongodb同时还提供了一种后台Daemon方式启动,只需要加上一个"--fork"参数即可,值得注意的是,用到了&quo ...
主从复制是Mongodb最常用的复制方式。这种方式非常灵活,可用于备份、故障恢复、读扩展等。Mongodb主从结构如下图所示:
最基本的方式就是建立一个主节点和一个或者多个从节点,每个从节点要知道主节点的地址。主节点服务器使用mongod --master方式启动,而从节点服务器则使用mongod --slave --source master_address方式启动。其中master_address指的是主节点服务器的地址。
一般主从节点是在多台服务器上,这里我通过在单台机器上建立多个实例来模拟主从复制。
首先建立主从节点数据目录:
[root@localhost mongo ...
Mongodb自带了mongodump和mongorestore这两个工具来实现对数据的备份和恢复。
mongodump能够在Mongodb运行时进行备份,它的工作原理是对运行的Mongodb做查询,然后将所有查到的文档写入磁盘。但是存在的问题时使用mongodump产生的备份不一定是数据库的实时快照,如果我们在备份时对数据库进行了写入操作,则备份出来的文件可能不完全和Mongodb实时数据相等。另外在备份时可能会对其它客户端性能产生不利的影响。
mongodump用法如下:
[root@localhost mongodb]# ./bin/mongodump --help
Export ...
查看命令的方式:
1.在shell中运行db.listCommands()
2.在浏览器中访问管理员接口:http://ipaddress:28017/_commands
下面介绍在Mongodb中最经常使用的命令,具体如下:
命令:buildInfo
格式:{"buildInfo":1}
介绍:管理专用命令,返回Mongodb服务器的版本号和主机的操作系统。
示例:
> db.runCommand({"buildInfo":1})
{
"version" : "2.0.6", ...
使用浏览器访问mongodb管理员接口:http://ipaddress:28017/_commands时页面提示如下:
我启动mongodb命令如下:
[root@localhost mongodb]# ./bin/mongod -f mongodb.conf
页面提示是REST没有开启,根据提示修改了启动Mongodb的命令,加上了--rest,如下:
[root@localhost mongodb]# ./bin/mongod -f mongodb.conf --rest
启动mongodb后再次访问:http://ipaddress:28017/_commands 页面就能 ...
最近在学习Mongodb,作为入门,选择了《Mongodb权威指南》这本书来进行参考学习。目前看到了MapReduce,由于我用的版本比较新,发现了和书上有些不同的地方。
应用场景:
使用MapReduce找出一个集合中所有的键的个数,mongo shell代码如下:
定义map function:
map = function () {
for (var key in this) {
emit(key, {count:1});
}
}
定义reduce function:
reduce = function (key, emits) { ...
上一篇介绍了《编码规范系列(一):Eclipse Code Templates设置》,这篇主要介绍Eclipse中Checkstyle的配置。关于Checkstyle,引用百度百科的介绍如下:CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。CheckStyle检验的主要内容包括:Javadoc注释、命名约定、标题、Import语句、体积大小、空白、修饰符、块、代码问题、类设计、混合检查。
如果我们想要使用Checkstyle,首先必须在Eclips ...
从工作开始,经历了几个项目的开发,现在的项目一般都是一个团队共同开发,而每个人都有自己的编码习惯,为了统一格式,项目组在项目开发之前都会制定一系列的规范。俗话说约定优于配置,但是在执行过程中往往发现效果不是很好(主要是指编码规范这一方面)。所以我们不得不采取一些措施来协助我们统一项目开发人员的编码风格。主要包括三个方面:设置Code Templates、Eclipse formatter、Checkstyle,本篇主要介绍如何设置Code Templates,具体步骤如下:
打开Window->Preferences->Java->Code Style->Code ...
在linux系统中复制文件夹时提示如下:
cp: omitting directory `foldera/'
其中foldera是我要复制的文件夹名,出现该警告的原因是因为foldera目录下还存在目录,所以不能直接拷贝。
解决办法:使用递归拷贝,在cp命令后面加上-r参数,形如:
[root@localhost opt]# cp -r foldera folderc
这里的-r代表递归的意思。
同样,当我们在linux系统下删除目录时也需要加上-r参数 ,如果目录为空,则会直接删除,如果目录非空,则会级联删除。不过在级联删除时也会有一个问题就是如果目 ...
最近准备系统地学习一下Linux相关的知识,之前在VMware6.0.0虚拟机上安装了Redhat5.4版操作系统,然后在linux中安装了Mongodb等软件。启动mongodb后发现在windows下无法通过http://ip:port方式访问mongodb服务。同样的也无法访问linux上的tomcat。在windows下也能正常ping通linux。
在网上找到了解决方案,原来是由于linux防火墙导致的,由于开启了iptables,所以限制了外部的访问。我们可以通过禁用iptables(太暴力)或者在iptables下配置访问规则来解决。
关于iptables的详细介绍和使用 ...
错误一 :The type java.lang.Object cannot be resolved.It is indirectly referenced from required.class files
解决方案 :
出现以上信息的原因是因为你装了多个版本的jre或jdk的关系。本来Eclipse在建立工程时,会自动参 照你的jre路径,但多个版本就没办法了。
你只能手动建立…
a. 进入window\preferences\java\Installed JREs
1)按Add
2)输入JRE Name, 例JDK1.5.0.03
3)JRE home di ...
rz\sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。要使用这个工具windows端需要支持ZModem的telnet/ssh客户端,我用的是xshell,也可以使用SecureCRT。
rz\sz命令
本文根据《深入理解java虚拟机》第8章部分内容整理
根据一个代码实例来介绍虚拟机中解释器的执行过程,代码如下所示:
public int calculate(){
int a = 100;
int b = 200;
int c = 300;
return (a + b) * c;
}
由上面的代码可以看出, ...
最近更新了Chrome浏览器的版本,从14版升级到了20版,结果升级后发现在页面点击按钮触发js事件时浏览器Console报错如下:
Uncaught TypeError: object is not a function list:1
onclick
页面调用代码如下:
<input name="cs" type="button" class="button" value="取 消" onClick="javascript:list()">
j ...