redis安装
1.yum安装
#前提得配置好阿里云yum源,epel源
#查看是否有redis包
yum list redis
#安装redis
yum install redis -y
#安装好,启动redis
systemctl start redis
2.检测redis是否工作
redis-cli #redis 客户端工具
#进入交互式环境后,执行ping,返回pong表示安装成功
127.0.0.1:6379> ping
PONG
编译安装redis
1.下载redis源码
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2.解压缩
tar -zxf redis-4.0.10.tar.gz
3.切换redis源码目录
cd redis-4.0.10
4.编译源文件
make
5.编译好后,src/目录下有编译好的redis指令
6.make install 安装到指定目录,默认在/usr/local/bin
redis配置文件
port 6379 # 运行在6379的redis数据库实例
daemonize yes # 后台运行redis
pidfile /data/6379/redis.pid # 存放redis pid的文件 /data/6379 需要自己创建
loglevel notice # 日志等级
logfile "/data/6379/redis.log" # 指定redis日志文件的生成目录
dir /data/6379 # 指定redis数据文件夹的目录
protected-mode yes # 安全模式
requirepass haohaio # 设置redis的密码
redis配置文件详解
启动redis服务端
启动redis非常简单,直接./redis-server就可以启动服务端了,还可以用下面的方法指定要加载的配置文件:
./redis-server ../redis.conf
默认情况下,redis-server会以非daemon的方式来运行,且默认服务端口为6379。
redis的使用。。。
redis的订阅
1、在同一台电脑上,启动三个窗口
2、都进入redis-cli
3、 窗口2 (订阅窗口)
SUBSCRIBE qishi # 订阅qishi
or
PSUBSCRIBE *zhibo # 订阅 正则匹配的 (*zhibo)
4、窗口3 (订阅窗口)
SUBSCRIBE qishi # 订阅qishi
or
PSUBSCRIBE *zhibo # 订阅 正则匹配的 (*zhibo)
5、窗口1 (发布窗口)
PUBLISH qishi alex # 发布alex给qishi
PUBLISH douyuzhibo 冯提莫 # 发布冯提莫给订阅了zhibo的客户端
6、订阅类似于微信公众号,主要用于信息发布
redis持久化
redis是内存型的数据库
数据断电消失
redis服务器挂掉消失
redis服务停掉之后消失
port 6379
daemonize yes
dir /data/6379 # 定义持久化文件存储位置
pidfile /data/6379/redis.pid # redis进程pid文件
loglevel notice # 日志级别
logfile "/data/6379/redis.log" # redis日志log文件
protected-mode yes # 保护模式
dbfilename dbmp.rdb # rdb持久化文件
#bind 10.0.0.10 127.0.0.1 # redis绑定地址
#requirepass redhat # redis登录密码
save 900 1 # rdb机制 每900秒 有1个修改记录
save 300 10 # 每300秒 10个修改记录
save 60 10000 # 每60秒内 10000修改记录
配置完成后,进入redis-cli
set name alex
set age alex
save # 手动保存
也可以等900秒,自动保存 900秒这个参数可以在配置文件里面修改
redis持久化之AOF
AOF(append-only log file)
记录服务器执行的所有变更操作命令(例如set del等),并在服务器启动时,通过重新执行这些命令来还原数据集
AOF 文件中的命令全部以redis协议的格式保存,新命令追加到文件末尾。
优点:最大程度保证数据不丢失 (比RDB要好,因为RDB有可能丢失数据)
缺点:日志记录非常大
AOF持久化配置,两条参数
appendonly yes
appendfsync always 总是修改类的操作
everysec 每秒做一次持久化
no 依赖于系统自带的缓存大小机制
daemonize yes
port 6379
logfile /data/6379/redis.log
dir /data/6379
dbfilename dbmp.rdb
requirepass redhat
save 900 1
save 300 10
save 60 10000
appendonly yes # 在redis配置文件中,添加这两条
appendfsync everysec #
启动redis服务,查看/data/6379是否产生了aof文件
set 几条数据,然后退出。重启服务,看是否能够持久化
redis不重启,切换RDB备份到AOF备份
确保redis版本在2.2以上
配置文件
daemonize yes
port 6379
logfile /data/6379/redis.log
dir /data/6379
dbfilename dbmp.rdb
save 900 1 #rdb机制 每900秒 有1个修改记录
save 300 10 #每300秒 10个修改记录
save 60 10000 #每60秒内 10000修改记录
1、启动redis
2、set 数据
3、save 手动保存
4、检查dbmp.rdb文件是否存在
5、开启AOF持久化
127.0.0.1:6379> CONFIG set appendonly yes #开启AOF功能
OK
127.0.0.1:6379> CONFIG SET save "" #关闭RDB功能
OK
注意: 此命令开启的AOF功能只是临时启用,redis服务重启之后就会失效,因为配置文件并没有AOF的配置。
不过没关系, 我们的目的是不重启切换至AOF
6、新set一行数据,aof文件会记录