关系数据库与非关系型数据库
关系型数据库
- 一个结构化的数据库,创建在关系模型基础上
- 一般面向于记录
- 包括
- Oracle、MySQL、SQL Server、Microsoft Access、DB2等
非关系型数据库
- 除了主流的关系型数据库外的数据库,都认为是非关系型
- 包括
- Redis、MongBD、Hbase、CouhDB等
非关系型数据库产生背景
- High performance——对数据库高并发读写需求
- Huge Storage——对海量数据高效存储与访问需求
- High Scalability && High Availability———对数据库高可扩展性与高可用性需求
Redis简介
- Redis基于内存运行并支持持久化
- 采用key-value(键值对)的存储形式
- 优点
- 具有极高的数据读写速度
- 支持丰富的数据类型
- 支持数据的持久化
- 原子性
- 支持数据备份
Redis安装部署
操作步骤
部署环境
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install gcc gcc-c++ y
编译安装Redis
[root@localhost ~]# tar zxvf redis-5.0.7.tar.gz -C /opt
[root@localhost ~]# cd /opt
[root@localhost opt]# cd redis-5.0.7/
[root@localhost redis-5.0.7]# make
[root@localhost redis-5.0.7]# make install
[root@localhost utils]# ./install_server.sh #自动安装脚本(全程Enter)
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379] #默认端口
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] #配置文件
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] #日志文件
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] #数据存款目录
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] #/usr/local/redis/bin/redis-server 执行文件路径
Selected config:
Port : 6379 #端口
Config file : /etc/redis/6379.conf #配置文件路径
Log file : /var/log/redis_6379.log #日志文件路径
Data dir : /var/lib/redis/6379 #数据文件路径
Executable : /usr/local/bin/redis-server #执行文件路径
Cli Executable : /usr/local/bin/redis-cli #客户端路径
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
[root@localhost utils]# netstat -lnupt |grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 19113/redis-server
[root@localhost utils]# redis-cli -h 127.0.0.1 -p 6379 #连接
127.0.0.1:6379> set name zhangsan #存数据
OK
127.0.0.1:6379> get name #提取数据
"zhangsan"
127.0.0.1:6379> quit #退出
连接测试
[root@localhost utils]# redis-cli -h 20.0.0.21 -p 6379
Could not connect to Redis at 20.0.0.21:6379: Connection refused
not connected> #无法连接(未开监听端口)
[root@localhost utils]# vim /etc/redis/6379.conf
bind 127.0.0.1 20.0.0.21 #添加端口
[root@localhost utils]# /etc/init.d/redis_6379 stop #停止服务
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped
[root@localhost utils]# /etc/init.d/redis_6379 start #开启服务
Starting Redis server...
[root@localhost utils]# netstat -lnupt |grep redis
tcp 0 0 20.0.0.21:6379 0.0.0.0:* LISTEN 19434/redis-server
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 19434/redis-server
[root@localhost utils]# redis-cli -h 20.0.0.21 -p 6379
20.0.0.21:6379> get name
"zhangsan"
20.0.0.21:6379> type name #查看类型
string
20.0.0.21:6379> keys * #查看全部的键值对
1) "name"