NoSQL :Redis与MongoDB命令
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 数据库的发展却能很好的处理这些大的数据。
- 各种nosql数据库的比较Cassandra,MongoDB,CouchDB,Redis,Riak,HBase
- HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比
- NoSQL之redis(常用命令)
- mongodb、redis、hbase三种Nosql数据库的定位
- 几种NoSql数据比较: Mongodb、CouchDB、Redis、Membase、Neo4j 、 HBase
- nosql(Redis、MongoDB)安装配置
- NOSQL数据库大比拼:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase
- NoSQL数据库之Redis数据库管理五(Redis的常用命令及高级应用)
- NoSQL学习二:MongoDB基本管理命令
- 各种nosql数据库的比较Cassandra,MongoDB,CouchDB,Redis,Riak,HBase
- NoSQL数据库 — MongoDB和Redis
- NoSQL解决方案比较(MongoDB vs Redis, Tokyo Cabinet, and Berkeley DB)
- 各种nosql数据库的比较Cassandra,MongoDB,CouchDB,Redis,Riak,HBase
- NoSQL数据库性能比较:MongoDB vs Redis vs Tokyo Tyrant
- NoSQL(MongoDB&Redis)笔记
- nosql类型的数据库:mongodb、Redis、Memcached的优化点
- 各种nosql数据库的比较Cassandra,MongoDB,CouchDB,Redis,Riak,HBase
- Re:李捷_NoSQL数据库之Redis数据库管理五(Redis的常用命令及高级应用)
- NoSQL -- php应用redis、mongodb
- NoSQL之Redis---SortSet类型命令