我是靠谱客的博主 勤劳曲奇,最近开发中收集的这篇文章主要介绍redis 补充启用认证功能redis的订阅模式redis持久化redis备份,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

启用认证功能

第一步:登录redis并创建几个字符串,并退出
redis-cli -p 6379 -h 127.0.0.1
set name chen
set tel 151

第二步:修改redis配置文件
vim /etc/redis.cnf
大约80行protect-mode 添加一行requirepass及密码
在这里插入图片描述

第三步:重启redis
systemctl restart redis

第四步:
登录,但是无法查看里面的key
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

第五步:验证登录
127.0.0.1:6379> auth 123
OK
127.0.0.1:6379> keys *

  1. “name”
  2. “chen”
    127.0.0.1:6379>

redis的订阅模式

基本格式:
subscribe channel
发送消息模式
publish channel message

第一步:xshell开启两个窗口,并登陆redis

第二步:订阅频道
127.0.0.1:6379> subscribe chen
Reading messages… (press Ctrl-C to quit)

  1. “subscribe”
  2. “chen”
  3. (integer) 1
  4. “message”
  5. “chen”

第三步:
在一个窗口中执行如下命令,开启订阅
127.0.0.1:6379> publish chen ‘welcome to my home’
(integer) 1
127.0.0.1:6379> publish chen ‘123’
(integer) 1

第四步:
在另一个窗口显示结果
127.0.0.1:6379> subscribe chen
Reading messages… (press Ctrl-C to quit)

  1. “subscribe”
  2. “chen”
  3. (integer) 1
  4. “message”
  5. “chen”
  6. “welcome to my home”
  7. “message”
  8. “chen”
  9. “123”

redis持久化

持久化依赖于两个文件

  • 数据文件:rdb
    • 周期的将内存中的数据备份到磁盘,基于快照的方式实现的,数据文件dump.rdb
  • 日志文件 :aof
    • 借助于一个日志文件,这个文件会记录每次操作

实现rdb持久化方式

  • save,同步的方式,持久化操作完成前,系统会被阻塞。
  • bgsave,异步方式。

rdb持久化

关于/etc/redis.cnf配置文件中rdb持久化参数介绍

save 900 1                 #900秒和至少1个键改变才会被保存
save 300 10                #300秒和至少10个键改变才会被保存
save 60 10000              #60秒和至少10000个键改变才会被保存
stop-writes-on-bgsave-error yes  #错误发生时停止写入
rdbcompression yes               #启用压缩
rdbchecksum yes                  #检验
dbfilename dump.rdb              #rdb文件名
dir /var/lib/redis               #rdb文件保存路径

aof持久化

如果想要启动aof持久化,只要启动appendonly yes即可

appendonly yes                             #是否启用aof持久化
auto-aof-rewrite-percentage 100            #当aof文件的大小增张了指定比例的时候,执行一次重写操作
auto-aof-rewrite-min-size 64mb             #指定aof文件做重写最小值
appendfilename "appendonly.aof"            #aof持久化信息保存在哪个文件中(相当于mysql的二进制日志文件)
# appendfsync always                       #一旦执行了操作,会立刻将操作的语句记录到aof文件中
appendfsync everysec                       #每秒向aof文件进行一次写入操作
# appendfsync no                           #不主动向aof执行写入操作,由系统自行判断何时向磁盘执行写入操作
no-appendfsync-on-rewrite no
aof-load-truncated yes  

redis备份

第一步:查看rdb文件是否存在
ls /var/lib/redis/dump.rdb

第二步:查看redis中的key
127.0.0.1:6379> keys *

  1. “name”
  2. “chen”
    127.0.0.1:6379>

第三步:关闭rdb持久化
配置文件200行处,save后面为空,并注释掉202 203 204
198 # like in the following example:
199 #
200 save “”
201
202 #save 900 1
203 #save 300 10
204 #save 60 10000

第四步:重启redis
systemctl restart redis

第五步:移动rdb文件至home下
mv /var/lib/redis/dump.rdb /home

第六步:重启redis
systemctl restart redis

第七步:再次登录redis查看key
发现已经为空

第八步:复制home下的rdb文件至/var/lib/redis下

第九步:重启redis加载rdb文件
systemctl restart redis

第十步:再次查看keys,发现值全回来了

最后

以上就是勤劳曲奇为你收集整理的redis 补充启用认证功能redis的订阅模式redis持久化redis备份的全部内容,希望文章能够帮你解决redis 补充启用认证功能redis的订阅模式redis持久化redis备份所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部