redis:非关系型数据库,内存数据库,no-sql典型,   数据存放在内存中,一断电或者关闭就没有了

mysql、oracle、sqlserver···是关系型数据库,数据存放在磁盘中

 

win redis测试案例 测试redis性能_redis

win redis测试案例 测试redis性能_数据_02

win redis测试案例 测试redis性能_数据库_03

win redis测试案例 测试redis性能_数据_04

 

一个Redis的每秒钟的读写大概在5万tps左右,当使用多个Redis布置集群后,性能相当强悍

redis安装方法:

先把安装包上传到/export/servers/目录下

win redis测试案例 测试redis性能_redis_05

win redis测试案例 测试redis性能_win redis测试案例_06

解压安装包,进入到redis安装包目录下

tar vxf redis-4.0.8.tar.gz

win redis测试案例 测试redis性能_Redis_07

改一下名字,进到目录下

win redis测试案例 测试redis性能_win redis测试案例_08

源码都在scr目录下

win redis测试案例 测试redis性能_数据_09

 

在Redis目录下

1、执行make命令编译

win redis测试案例 测试redis性能_数据_10

win redis测试案例 测试redis性能_Redis_11

2、执行make install安装

win redis测试案例 测试redis性能_Redis_12

win redis测试案例 测试redis性能_数据_13

3、在目录下拷贝redis.conf模板,在redis目录下新建conf目录,如cp redis.conf conf/6379.conf,如果是多个端口就直接拷贝即可,cp redis.conf 6380.conf cp redis 6381.conf

新建conf目录

win redis测试案例 测试redis性能_数据库_14

把redis.conf模板复制到conf目录下

win redis测试案例 测试redis性能_数据_15

为了方便区分,把名字改为6379

win redis测试案例 测试redis性能_redis_16

 

4、更改 6379.conf文件

win redis测试案例 测试redis性能_Redis_17

改port,第二个实例修改为其他的端口

win redis测试案例 测试redis性能_Redis_18

Redis默认端口号为6379

win redis测试案例 测试redis性能_win redis测试案例_19

 

查找daemonize选项,添加yes(是否后台启动,yes代表是)

win redis测试案例 测试redis性能_数据_20

win redis测试案例 测试redis性能_redis_21

改为yes

win redis测试案例 测试redis性能_数据库_22

 

注释三行save选项,注释代表不开持久化

dbfilename dump.rdb:每个实例配置的rdb文件名应该不一样

win redis测试案例 测试redis性能_数据库_23

win redis测试案例 测试redis性能_win redis测试案例_24

 一般改为和当前Redis端口号一样的名字,如当前这个Redis的端口号是6379

win redis测试案例 测试redis性能_Redis_25

下面有一个dir ./,代表在哪里启动,上面那个rdb文件就存在当前目录下

win redis测试案例 测试redis性能_数据_26

 maxclients:最大并发数,默认为10000,且为注释状态(可修改)

win redis测试案例 测试redis性能_数据库_27

maxmemory:使用的最大内存,一般这种第三方的工具最多分配系统内存的2/3,根据实际情况修改

win redis测试案例 测试redis性能_redis_28

 

5、启动redis-server:在redis的conf目录下,启动redis-server命令即可
redis-server ./6379.conf

由于Redis安装时,会自动将server和相关工具放到/usr/local/bin/目录下

win redis测试案例 测试redis性能_Redis_29

win redis测试案例 测试redis性能_数据库_30

所以比如我要启动Redis,在任意位置执行redis-server ./6379.conf即可,这里为了方便找文件,还是回到Redis目录下执行

win redis测试案例 测试redis性能_数据库_31

执行redis-server ./6379.conf

win redis测试案例 测试redis性能_redis_32

win redis测试案例 测试redis性能_win redis测试案例_33

 

6、通过redis的客户端查看数据:在任意目录下,redis-cli -p 63xx,就可以进入到对应的redis实例里(类似于用Navicat工具连接数据库)

win redis测试案例 测试redis性能_数据_34

 

持久化

持久化是指将redis的内存数据存储到物理磁盘上,提高数据安全性

主从配置
在从redis的conf文件中,配置上slaveof 127.0.0.1 6379,重启从redis

Redis的两种持久化配置

rdb:在指定的时间间隔内将内存中的数据集快照写入磁盘 (默认开启)
  优点:性能最大化 、如果数据集很大,RDB的启动效率会更高 
  缺点:数据安全性差

win redis测试案例 测试redis性能_数据库_35

3个save项可以根据实际情况修改

win redis测试案例 测试redis性能_win redis测试案例_36

由于之前已经触发过操作,所以在目录下已经生成了一个6379.rdb文件,Redis下一次启动时,会自动加载这里面的数据, rdb文件存放的是二进制的数据

win redis测试案例 测试redis性能_win redis测试案例_37

 

 

aof:以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录(默认关闭)
  优点:数据安全性高 
  缺点:对于相同数量的数据集而言,AOF文件通常要大于RDB文件。恢复数据慢

 

win redis测试案例 测试redis性能_数据_38

win redis测试案例 测试redis性能_数据库_39

改为yes,为了避免文件名重复,把保存的文件名改为端口号

win redis测试案例 测试redis性能_数据库_40

设置同步的频率:推荐appendfsync everysec

win redis测试案例 测试redis性能_数据_41

win redis测试案例 测试redis性能_win redis测试案例_42

重启Redis,即会生成aof文件

win redis测试案例 测试redis性能_Redis_43

由于此时Redis没有去加载rdb文件,所以是空的,可以造一些数据

win redis测试案例 测试redis性能_数据_44

插入数据

win redis测试案例 测试redis性能_数据_45

使用tail命令查看,可以看出,aof文件中存的是执行的命令记录

win redis测试案例 测试redis性能_redis_46