非关系型数据库mongodb和redis

MongoDB

MongoDB是一个基于分布式文件存储的数据库。

它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态 查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过 网络访问。
MongoDB已经在多个站点部署,其主要场景如下:
1)网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
2)缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。
3)高伸缩性的场景。非常适合由数十或数百台服务器组成的数据库,它的路线图中已经包含对MapReduce引擎的内置支持。
mongodb for java
jar包:mongo-2.10.1.jar

Mongo mongo = new Mongo();

这样就创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017。

DB db = mongo.getDB(“test”);

这样就获得了一个test的数据库,如果mongoDB中没有创建这个数据库也是可以正常运行的。如果你读过上一篇文章就知道,mongoDB可以在没有创建这个数据库的情况下,完成数据的添加操作。当添加的时候,没有这个库,mongoDB会自动创建当前数据库。

得到了db,下一步我们要获取一个“聚集集合DBCollection”,通过db对象的getCollection方法来完成。

DBCollection users = db.getCollection("users");

这样就获得了一个DBCollection,它相当于我们数据库的“表”。

查询所有数据

DBCursor cur = users.find();

while (cur.hasNext()) {

System.out.println(cur.next());

}

mongodb常用命令操作

redis

redis是一个key-value存储系统

redis提供五种数据类型:string,hash,list,set及zset(sorted set)。

Redis的外围由一个键、值映射的字典构成。与其他非关系型数据库主要不同在于:Redis中值的类型不仅限于字符串,还支持如下抽象数据类型:
  • 字符串 列表
  • 无序不重复的 字符串 集合
  • 有序不重复的 字符串 集合
  • 键、值都为 字符串的哈希表  
值的类型决定了值本身支持的操作。Redis支持不同无序、有序的 列表,无序、有序的 集合间的交集、并集等高级服务器端原子操作。
redis 需要用的jar包jedis(我用的是jedis-2.6.0.jar)

redis-benchmark.exe性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache 的ab 工具).

redis-check-aof.exe:更新日志检查

redis-check-dump.exe本地数据库检查

redis-cli.exe客户端

redis-server.exe服务端 

Redis命令参考 


MongoDB和redis的区别

MongoDB   redis 比较说明

非关系型数据库mongodb和redis_第1张图片

你可能感兴趣的:(非关系型数据库mongodb和redis)