关系型数据库,是创建在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库中的数据。主流的 oracle、DB二、MS SQL Server和mysql都属于这类传统数据库。html
NoSQL数据库,全称为Not Only SQL,意思就是适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,能够考虑使用更加合适的数据存储如KV存储。主要分为临时性键值存储(memcached、Redis)、永久性键值存储(ROMA、Redis)、面向文档的数据库(MongoDB、CouchDB)、面向列的数据库(Cassandra、HBase),每种NoSQL都有其特有的使用场景及优势。mysql
oracle,mysql等传统的关系数据库很是成熟而且已大规模商用,为何还要用NoSQL数据库呢?主要是因为随着互联网发展,数据量愈来愈大,对性能要求愈来愈高,传统数据库存在着先天性的缺陷,即单机(单库)性能瓶颈,而且扩展困难。这样既有单机单库瓶颈,却又扩展困难,天然没法知足日益增加的海量数据存储及其性能要求,因此才会出现了各类不一样的NoSQL产品,NoSQL根本性的优点在于在云计算时代,简单、易于大规模分布式扩展,而且读写性能很是高。redis
下面分析下二者的特色,及优缺点:sql
关系型数据库数据库
<1>关系数据库的特色是:服务器
- 数据关系模型基于关系模型,结构化存储,完整性约束。数据结构
- 基于二维表及其之间的联系,须要链接、并、交、差、除等数据操做。并发
- 采用结构化的查询语言(SQL)作数据读写。oracle
- 操做须要数据的一致性,须要事务甚至是强一致性。分布式
<2>优势:
- 保持数据的一致性(事务处理)
- 能够进行join等复杂查询。
- 通用化,技术成熟。
<3>缺点:
- 数据读写必须通过sql解析,大量数据、高并发下读写性能不足。
- 对数据作读写,或修改数据结构时须要加锁,影响并发操做。
- 没法适应非结构化存储。
- 扩展困难。
- 昂贵、复杂。
NoSQL数据库
<1>NoSQL数据库的特色是:
- 非结构化的存储。
- 基于多维关系模型。
- 具备特有的使用场景。
<2>优势:
- 高并发,大数据下读写能力较强。
- 基本支持分布式,易于扩展,可伸缩。
- 简单,弱结构化存储。
<3>缺点:
- join等复杂操做能力较弱。
- 事务支持较弱。
- 通用性差。
- 无完整约束复杂业务场景支持较差。
step1:下载
step2:解压
tar xzf redis-5.0.5.tar.gz
step3:移动,放到usr/local⽬录下
sudo mv ./redis-5.0.5 /usr/local/redis/
step4:进⼊redis⽬录
cd /usr/local/redis/
step5:生成(因为redis是用C语言写的,因此要用make命令进行编译)
sudo make
step6:测试,这段运⾏时间会较⻓
sudo make test
出现报错:You need tcl 8.5 or newer in order to run the Redis test
解决方式
安装tcl
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
sudo ./configure
sudo make
sudo make install
step7:安装,将redis的命令安装到/usr/local/bin/⽬录
sudo make install
step8:安装完成后,咱们进入目录/usr/local/bin中查看
cd /usr/local/bin
ls -all
step9:配置⽂件,移动到/etc/⽬录下
配置⽂件⽬录为/usr/local/redis/redis.conf
sudo cp /usr/local/redis/redis.conf /etc/redis/
是否以守护进程运⾏
数据⽂件
dbfilename dump.rdb
参考资料:redis配置信息http://blog.csdn.net/ljphilp/article/details/52934933
Redis服务器端和客户端的命令
服务器端的命令为redis-server
可使⽤help查看帮助⽂档
redis-server --help
链接redis
redis-cli
运⾏测试命令
ping
切换数据库
数据库没有名称,默认有16个,经过0-15来标识,链接redis默认选择第一个数据库
select 10
Mac 上安装 Redis: