您的位置:首页 > 数据库 > Redis

NoSQL :Redis与MongoDB命令

2019-05-25 21:25 260 查看

NoSQL简介

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。。
NoSQL数据库具有非常高的读写性能,尤其是在大数据量下,同样非常优秀,这得益于它的无关系型,数据库的结构简单。

NoSQL的特点

1.易扩展(数据间没关系)
2.大数据量、高性能读写,
3.灵活的数据模型,不需建立字段
4.高可用

NoSQL的优缺点

优点:1.高可扩展性、高可用性 2.超大规模,高并发读写 3.低成本 4.架构的灵活性,半结构化数据 5.海量数据的高效率存储和访问
缺点:1.没有标准化 2.有限的查询功能(到目前为止) 3.最终一致是不直观的程序

因在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。
在考虑数据库的成熟度;支持;分析和商业智能;管理及专业性等问题时,应优先考虑关系型数据库。

NoSQL的分类
分类:NoSQL数据库产品分为键值(Key-Value)存储数据库、列存储数据库、文档型数据库图形(Graph)数据库四大类

Redis
Redis是nosql的一种,redis是互联网发展的产物,作为key—value的高效存储系统,为互联网应用提供高效的解决方案。redis提供了基本的数据结构list、set、map,还支持java、c++、.net等众多语言调用。redis存储的数据一般放在内存当中,这样加快了读取速度。
redis是一种非关系型数据存储工具,这区别于传统的关系型数据库(像mysql等),类似于memcache,并且其内部集成了对list(链表)、set(集合)的操作,可以很方便快速的处理数据(像插入、删除list取交集 并集 差集等),这极大的减轻了底层数据库的压力,并且给用户更快的响应速度。
redis与其他 key - value 缓存产品有以下三个特点
l Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
l Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
l Redis支持数据的备份,即master-slave模式的数据备份

Redis的功能
内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
模拟类似于HttpSession这种需要设定过期时间的功能
发布、订阅消息系统
定时器、计数器
Redis 的安装

官网下载redis-3.2.8.tar.gz,版本已最新官网为例,将它放入我们的Linux目录/usr/local
解压>>>  :tar -zxvfredis-3.0.4.tar.gz
解压完成后出现文件夹 redis-3.2.8
进入目录:cd redis-3.2.8
在redis-3.2.8目录下执行make命令
如果make完成后继续执行make install
查看Redis安装目录下的src cd /usr/local/redis-3.2.8/src/
目录中包含redis-benchmark:性能测试工具,可以在自己本机运行
redis-check-aof:修复有问题的AOF文件,rdb和aof后面分析
redis-check-dump:修复有问题的dump.rdb文件
redis-cli:客户端,操作入口
redis-sentinel:redis集群使用
redis-server:Redis服务器启动命令

Redis的启动
进入cd /usr/local/redis-3.2.8/src/目录
启动redis >>>> ./redis-service…/redis.conf
这样的话不是后台启动,使得自己不能操作控制台,按ctrl+c结束。
修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动
重新启动Redis会发现,启动完之后可以操作控制台。
继续./redis-cli -p 6379 使用客户端登陆redis,就可以操作redis了。

Redis的关闭
l 单实例关闭:redis-cli shutdown
l 多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown

MongoDB
特点:(1)面向文档(2)高性能(3)高可用(4)易扩展(5)丰富的查询语言
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案,是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
适合场景:事件记录、内容管理或者博客平台,比如评论系统。
mongoDB 是一种文档性的数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。
这些数据具备自述性(self-describing),呈现分层的树状数据结构。redis可以用hash存放简单关系型数据。
mongoDB 存放json格式数据。

mongoDB安装
下载 mongodb-linux-x86_64-3.4.6.tgz安装包,从Windows传到Linux

tar -zxvf mongodb-linux-x86_64-3.4.6.tgz //解压
cd /user/local //进入local
mkdir mongodb //创建mongodb文件夹
cd / //进入根目录
mv mongodb-linux-x86_64-3.4.6  /usr/local/mongodb //将刚才的解压包移入 /usr/local/mongodb

配置mongodb运行环境

mkdir data //创建data文件夹,存放数据库db文件
mkdir logs //创建logs文件夹,存放日志文件
cd logs //进入logs
touch mongo.log //创建log文件
cd .. //返回上一级
mkdir etc //创建配置文件夹
cd etc // 进入etc
vi mongo.conf //编辑同时创建mongo.conf 文件

mongo.conf 文件内容

dbpath = /usr/local/mongodb/data //路径一定要输入绝对的
logpath = /usr/local/mongodb/logs/mongo.log //路径一定要输入绝对的
logappend = true   journal = true   quiet = true   port = 27017 //端口写好了
按Esc键退出,然后按shift+Q:wq,保存并退出

总 结
总的来说,redis:适用于数据量较小的追求性能的操作和运算上,MongoDB:主要解决海量数据的访问效率问题。
今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL 数据库的发展却能很好的处理这些大的数据。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: