redis:非关系型数据库,内存数据库,no-sql典型, 数据存放在内存中,一断电或者关闭就没有了
mysql、oracle、sqlserver···是关系型数据库,数据存放在磁盘中
一个Redis的每秒钟的读写大概在5万tps左右,当使用多个Redis布置集群后,性能相当强悍
redis安装方法:
先把安装包上传到/export/servers/目录下
解压安装包,进入到redis安装包目录下
tar vxf redis-4.0.8.tar.gz
改一下名字,进到目录下
源码都在scr目录下
在Redis目录下
1、执行make命令编译
2、执行make install安装
3、在目录下拷贝redis.conf模板,在redis目录下新建conf目录,如cp redis.conf conf/6379.conf,如果是多个端口就直接拷贝即可,cp redis.conf 6380.conf cp redis 6381.conf
新建conf目录
把redis.conf模板复制到conf目录下
为了方便区分,把名字改为6379
4、更改 6379.conf文件
改port,第二个实例修改为其他的端口
Redis默认端口号为6379
查找daemonize选项,添加yes(是否后台启动,yes代表是)
改为yes
注释三行save选项,注释代表不开持久化
dbfilename dump.rdb:每个实例配置的rdb文件名应该不一样
一般改为和当前Redis端口号一样的名字,如当前这个Redis的端口号是6379
下面有一个dir ./,代表在哪里启动,上面那个rdb文件就存在当前目录下
maxclients:最大并发数,默认为10000,且为注释状态(可修改)
maxmemory:使用的最大内存,一般这种第三方的工具最多分配系统内存的2/3,根据实际情况修改
5、启动redis-server:在redis的conf目录下,启动redis-server命令即可
redis-server ./6379.conf
由于Redis安装时,会自动将server和相关工具放到/usr/local/bin/目录下
所以比如我要启动Redis,在任意位置执行redis-server ./6379.conf即可,这里为了方便找文件,还是回到Redis目录下执行
执行redis-server ./6379.conf
6、通过redis的客户端查看数据:在任意目录下,redis-cli -p 63xx,就可以进入到对应的redis实例里(类似于用Navicat工具连接数据库)
持久化
持久化是指将redis的内存数据存储到物理磁盘上,提高数据安全性
主从配置
在从redis的conf文件中,配置上slaveof 127.0.0.1 6379,重启从redis
Redis的两种持久化配置
rdb:在指定的时间间隔内将内存中的数据集快照写入磁盘 (默认开启)
优点:性能最大化 、如果数据集很大,RDB的启动效率会更高
缺点:数据安全性差
3个save项可以根据实际情况修改
由于之前已经触发过操作,所以在目录下已经生成了一个6379.rdb文件,Redis下一次启动时,会自动加载这里面的数据, rdb文件存放的是二进制的数据
aof:以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录(默认关闭)
优点:数据安全性高
缺点:对于相同数量的数据集而言,AOF文件通常要大于RDB文件。恢复数据慢
改为yes,为了避免文件名重复,把保存的文件名改为端口号
设置同步的频率:推荐appendfsync everysec
重启Redis,即会生成aof文件
由于此时Redis没有去加载rdb文件,所以是空的,可以造一些数据
插入数据
使用tail命令查看,可以看出,aof文件中存的是执行的命令记录