介绍
1.关系数据库与非关系型数据库
1.1关系型数据库
1)一个结构化的数据库,创建在关系模型基础上,一般面向于记录
2)包括Oracle、MySQL、SQL Server、Microsoft Access、DB2等
非关系型数据库
1)除了主流的关系型数据库以外的数据库,都认为是非关系型的2)包括Redis、MongBD、Hbase、CouhDB等
3.Redis简介
3.1 Redis基于内存运行并支持持久化,采用key-value(键值对)的存储形式3.2 优点
1)具有极高的数据读写速度redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中,redis有点:存取速度快,官方称读取速度会达到30万次每秒,写速度在10万次每秒最有,具体限制于硬件。
2)支持丰富的数据类型redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
字符串类型 散列类型 列表类型 集合类型
3)支持数据的持久化
即可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务。
缺点:对持久化支持不够良好。
所以redis一般不作为数据的主数据库存储,一般配合传统的关系型数据库使用
.
4)原子性---redis的所有操作都是原子性的
5)支持数据备份---master-slave模式的数据备份
6)功能丰富
redis的应用场景
缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用) 分布式集群架构中的session分离。 聊天室的在线好友列表。 任务队列。(秒杀、抢购、12306等等) 应用排行榜。 网站访问统计。 数据过期处理(可以精确到毫秒)
下载
下载tar归档压缩包 或在Linux里执行下面的命令
安装
把tar归档包放入Linux
yum -y install gcc*
tar xfz redis-5.0.4.tar.gz -C /usr/src/
cd /usr/src/redis-5.0.4/
make
make install
ok
cd utils/
./install_server.sh
如果你没有需要修改的可以和我一样一直回车保持默认即可,如果需要修改那么在后面直接输入
vim /etc/redis/6379.conf
这里你用的什么端口号那个配置文件就是什么.conf
找到70 行 在后面添加你的ip
/etc/init.d/redis_6379 restart
登录测试
redis-cli -h 192.168.254.253 -p 6379
redis-cli -h 本机ip -p 指定的端口号
输入exit可以退出
速度测试
redis-benchmark测试工具--可有效测试服务的性能
模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)用法 redis-benchmark [-h <host>][-p ] [-c <clients>][-n ]> [-k <boolean>]
选项:
选项 说明
-h <hostname> 主机名 (默认 127.0.0.1)
-p <port> 主机端口 (默认 6379)
-s <socket> UNIX socket (会覆盖 -h -p 设置的内容)
-a <password> 密码(密码错误之类不会直接保错,而是在操作时才会保错,这时可以使用 Redis 的 AUTH 命令再次认证)
-c <clients> 客户端的并发数量(默认是50)
-n <requests> 客户端请求总量(默认是100000)
-d <size> 使用 SET/GET 添加的数据的字节大小 (默认 2)
-dbnum <db> 选择一个数据库进行测试 (默认 0)
-k <boolean> 客户端是否使用keepalive,1为使用,0为不使用,(默认为 1)
-r <keyspacelen>使用 SET/GET/INCR 命令添加数据 key, SADD 添加随机数据,keyspacelen 指定的是添加 键的数量
-P <numreq> 每个请求 pipeline 的数据量(默认为1,没有 pipeline )
-q 仅仅显示redis-benchmark的requests per second信息
--csv 将结果按照csv格式输出,便于后续处理
-l 循环测试
-t <tests> 可以对指定命令进行基准测试
-I 空闲模式 只打开N个空闲连接并等待。
redis-benchmark -h 192.168.254.253 -p 6379 -c 100 -n 100000
向redis服务器发送100个并发连接与100000个请求
处理完这些需要0.48秒,因为服务器配置不同所以大家用的秒肯定不一样
redis-benchmark -h 192.168.254.253 -p 6379 -q -d 100
测试存取大小为100B的数据包的性能
redis-benchmark -t set,lpush -n 100000 -q
测试本机上redis服务在进行set与lpush操作时的性能