1、MongoDB安装很简单,无需下载源文件,可以直接用apt-get命令进行安装 打开终端,输入以下命令: sudo apt-get install mongodb 2、安装完成后,在终端输入以下命令查看MongoDB版本: mongo -version 输出版本信息,表明安装成功 3、启动和关闭mongodb命令如下: service mongodb start service mongodb stop 默认设置MongoDB是随Ubuntu启动自动启动的。 4、输入以下命令查看是否启动成功: pgrep mongo -l #注意:-l是英文字母l,不是阿拉伯数字1 5、卸载MongoDB sudo apt-get --purge remove mongodb mongodb-clients mongodb-server 使用MongoDB shell命令模式 输入mongo进入shell命令模式,默认连接的数据库是test数据库,在此之前一定要确保你已经启动了MongoDB,否则会出现错误,启动之后运行成功,如下截图:
数据库相关 show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表table) show users:显示所有用户 use yourDB:切换当前数据库至yourDB db.help() :显示数据库操作命令 先尝试往 MongoDB 中插入一条数据:
use shiyanlou db.user.insertOne({name: “Aiden”, age: 30, email: "123@163.com", addr: [“CD”, “SH”]}) { “acknowledged” : true, “insertedId” : ObjectId(“59a8034064e0acb13483d512”) } show databases; admin 0.000GB local 0.000GB shiyanlou 0.000GB show collections; user可以看到,在插入数据前使用 use 指令,切换到了 shiyanlou 数据库,尽管该数据库暂时不存在,但当我们插入数据后,该数据库就被自动创建了。show databases 和 show collection 分别显示了当前存在的数据库和当前数据库的所有文档集合。 查询数据可以使用 db.collection.find 方法,可以指定查询过滤条件:
上面例子中,我们先通过 db.user.find() 获取到了之前插入的全部数据。接着使用不同的过滤条件进行了查询,还可以发现查询数组中是否存在某一元素也非常方便,上面的例子中查询出了所有地址含有 CD 用户。
MongoDB 的查询功能非常强大,可以组合各种查询条件。更新数据主要通过 db.user.updateOne 或者 db.user.updateMany 方法,前者更新一条记录,后者更新多条记录:
db.user.updateOne( … {name: “Aiden”}, … {$set: {age: 29, addr: [“CD”, “SH”, “BJ”]}} … ) { “acknowledged” : true, “matchedCount” : 1, “modifiedCount” : 1 } db.user.find({name: “Aiden”}) { “_id” : ObjectId(“59a8034064e0acb13483d512”), “name” : “Aiden”, “age” : 29, “email” : "123@163.com", “addr” : [ “CD”, “SH”, “BJ” ] }可以看到成功的更新了一条记录。删除数据也非常简单,可以通过 db.user.deleteMany 或db.user.deleteOne 方法:
db.user.deleteMany({addr: “CD”}) { “acknowledged” : true, “deletedCount” : 2 } db.user.find() { “_id” : ObjectId(“59a8034564e0acb13483d514”), “user” : “jin”, “age” : 31, “email” : "jin@simplecloud.cn", “addr” : [ “GZ”, “SZ” ] } { “_id” : ObjectId(“59a8034564e0acb13483d515”), “user” : “nan”, “age” : 26, “email” : "nan@simplecloud.cn", “addr” : [ “NJ”, “AH” ] }上面的命令成功的删除所有地址包含 “CD” 的用户,共删除了两条记录。
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。 内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。 简言之,Redis是一种面向“键/值”对数据类型的内存数据库,可以满足我们对海量数据的快速读写需求。 Redis是一款NoSQL产品。 官网:http://www.redis.io 或者:http://redis.cn/
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的k-v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave主从模式的数据备份。
性能极高 丰富的数据类型 原子性 丰富的特性——Redis还支持public/subscribe,通知,key过期等特性。
应用在高并发和实时请求的场景, eg新浪微博 hash:关注列表,粉丝列表 string:微博数,粉丝数(避免使用select count(*) from…) sorted set: TopN,热门微博 还有github,stackoverflow也用到了redis
3.4.0 Redis安装配置 3.4.1 Redis安装 windows下直接解压即可使用,主要说明Linux下的安装方式 : 解压:tar -zxvf soft/redis-3.2.0.tar.gz -C app/ 重命名:mv app/redis-3.2.0/ app/redis 编译:make 安装:make install PREFIX=/home/uplooking/app/redis 3.4.2 Redis配置 1)初始配置 修改redis.conf中的配置项 bind uplooking01 daemonize yes(后台运行) logfile /opt/redis-3.2.0/logs/redis.log(日志文件,目录必须存在)
启动服务 make完成之后,在redis-3.2.0/src目录下会出现编译后的redis服务器程序redis-server,还有用于测试的客户端程序redis-cli。 redis-3.2.0]$ src/redis-server redis.conf 当然,如果再执行了make install则会在指定安装目录下生成一个bin目录,同时也会有相关的命令用于操作Redis.3)启动客户端 redis-3.2.0]$ src/redis-cli -h localhost -p 6379
4)关闭服务 ps -ef | grep redis 找到进程id后直接kill -9就可以了。
5)Redis配置查看 Redis的配置文件位于Redis的安装目录之下,文件名为redis.conf。可以通过config命令来查看或设置配置项。
查看 语法,Redis config命令格式如下: redis localost:6379> config get config_set_name eg: redis localost:6379> config get loglevel
“loglevel”“notice” 使用*号获取所有配置项:redis localost:6379> config get *编辑 可以通过修改redis.conf文件或使用config set命令来修改配置 基本语法:
redis localost:6379> config set conf_setting_name new_value eg: redis localost:6379> config set loglevel “warning” redis localost:6379> config get loglevel “loglevel”“warning” -->对当前服务有效,之后当服务重启之后,才会失效 Redis操作 四、总结: NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟–以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。这里列出一些比较知名的工具,可以为大数据建立快速、可扩展的存储库。