redis数据库

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文件会记录

原文地址:https://www.cnblogs.com/echo2019/p/10668001.html