一、关系型数据库与非关系型数据库
(一)关系型数据库
关系型数据库是结构化数据库,创建在关系型模型数据库,创建面向于记录。
常见的关系型数据库:Oracle、MySQL、SQL Server、Microsoft Access、DB2。
(二)非关系型数据库
NOSQL=Not Only SQL是非关系型数据库的总称。根据存储方式,存储结构及使用场景的不同,称为非关系型数据库。除主流关系型数据库以外的数据库,都可以称为非关系型数据库。
常见非关系型数据库:Redis、MongoDB,Hbase、CouhDB。
二、Redis基础
(一)Redis简介
Redis是一款开源,使用c语言编写的Nosql数据库,基于内存运行并支持持久化,采用key-value(键值对)的存储形式。其端口号是6379。
(二)Redis优点
- 具有较高的数据读写速度。
- 支持丰富的数据类型。key-value,strings,lists,hashes,sets,ordered sets。
- 支持数据的持久化。数据保存在磁盘中,重启可以加载使用。
- 原子性。
- 支持数据备份。
三、redis安装
1. 安装Redis
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install gcc* zlib-devel
[root@localhost ~]# tar xvzf redis-4.0.9.tar.gz
[root@localhost ~]# cd redis-4.0.9/
[root@localhost redis-4.0.9]# make
注意:
在make之后会产生错误信息,
解决方案:
解决方法1:用make MALLOC=libc指定内存分配器为 libc进行编译
解决方法2:make clean && make distclean
[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install
[root@localhost utils]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-4.0.9]# cd utils/
其中:install_server.sh 是初始化脚本
[root@localhost utils]# ./install_server.sh
Please select the redis executable path [] /usr/local/redis/bin/redis-server (给予可执行的路径)
查看进程及服务控制
[root@localhost utils]# netstat -anpt | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 5360/redis-server 1
[root@localhost utils]# /etc/init.d/redis_6379 stop (redis关闭)
[root@localhost utils]# /etc/init.d/redis_6379 start (开启)
[root@localhost utils]# /etc/init.d/redis_6379 status (状态)
配置参数的修改
[root@localhost ~]#vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.10.101 //监听的主机地址
port 6379 //端口
daemonize yes //启用守护进程
pidfile /var/run/redis_6379.pid //指定 PID 文件
loglevel notice //日志级别
logfile /var/log/redis_6379.log //指定日志文件
[root@localhost~]#/etc/init.d/redis_6379 restart
2.redis 命令工具
[root@localhost utils]# redis-cli (本机登录)
[root@localhost utils]# redis-cli -h 192.168.10.101 -p 6379 (远程登陆)
192.168.10.101:6379> ping (检测服务正常运行)
PONG
3:redis-benchmark 测试工具
redis-benchmark 是官方自带的 Redis 性能测试工具,可以有效的测试 Redis 服务的性能。
- -h:指定服务器主机名;
- -p:指定服务器端口;
- -s:指定服务器 socket;
- -c:指定并发连接数;
- -n:指定请求数;
- -d:以字节的形式指定 SET/GET 值的数据大小;
- -k:1=keep alive 0=reconnect;
- -r:SET/GET/INCR 使用随机 key, SADD 使用随机值;
- -P:通过管道传输<numreq>请求;
- -q:强制退出 redis。仅显示 query/sec 值;
- --csv: