Redis学习---04

一、Redis.conf配置文件

(1) units:对于大小写不敏感

导入

 绑定ip和端口:

(2) 通用:

以守护进程开启,默认为no

 进程文件:

日志:

 

数据库的数量:是16个

 是否显示logo:

(3) 快照:(RDB持久化方式)

 持久化出错是否还继续工作:

 是否压缩rdb文件:

 保存rdb文件进行错误校验:

 rdb保存文件的目录:

(4) 安全:

给redis加密码:

config set  requirepass:

config get requirepass:

 客户端设置:

 最大内存设置:

内存满了之后的处理策略:

 (5) AOF持久化方式:

 默认不开始AOF:

持久化文件的名字:

 执行同步:

二、Redis(Redis DataBase)持久化 ,Redis是内存数据库,断电即失。

(1) 持久化之RDB (Redis默认是RDB的方式)

RDB 方式,是将 redis 某一时刻的数据持久化到磁盘中,是一种快照式的持久化方法。

redis 在进行数据持久化的过程中,会先将数据写入到一个临时文件中,待持久化过程都结束了,才会用这个临时文件替换上次持久化好的文件。正是这种特性,让我们可以随时来进行备份,因为快照文件总是完整可用的。备份后会生成一个dump.rdb文件。

对于 RDB 方式,redis 会单独创建(fork)一个子进程来进行持久化,而主进程是不会进行任何 IO 操作的,这样就确保了 redis 极高的性能。

优点:适合大规模数据的恢复;对数据的完整性要求不高

缺点:最后一次持久化如果宕机了,就会丢失数据。

(2) 持久化之 AOF (以追加的方式来)

1) 原理:AOF 方式是将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令都执行一遍,就这么简单。

如果在追加日志时,恰好遇到磁盘空间满、inode 满或断电等情况导致日志写入不完整,也没有关系,redis 提供了 redis-check-aof 工具,可以用来进行日志修复。

因为采用了追加方式,如果不做任何处理的话,AOF 文件会变得越来越大,为此,redis 提供了 AOF 文件重写(rewrite)机制,即当 AOF 文件的大小超过所设定的阈值时,redis 就会启动 AOF 文件的内容压缩,只保留可以恢复数据的最小指令集。举个例子或许更形象,假如我们调用了 100 次 INCR 指令,在 AOF 文件中就要存储 100 条指令,但这明显是很低效的,完全可以把这 100 条指令合并成一条 SET 指令,这就是重写机制的原理。

虽然优点多,但 AOF 方式也同样存在缺陷,比如在同样数据规模的情况下,AOF 文件要比 RDB 文件的体积大。而且,AOF 方式的恢复速度也要慢于 RDB 方式。1

2) AOF重写:(rewrite) 如果文件大小大于64M就会重写,将AOF文件之间的文件进行压缩;

在重写即将开始之际,redis 会创建(fork)一个“重写子进程”,这个子进程会首先读取现有的 AOF 文件,并将其包含的指令进行分析压缩并写入到一个临时文件中。

与此同时,主工作进程会将新接收到的写指令一边累积到内存缓冲区中,一边继续写入到原有的 AOF 文件中,这样做是保证原有的 AOF 文件的可用性,避免在重写过程中出现意外。

当“重写子进程”完成重写工作后,它会给父进程发一个信号,父进程收到信号后就会将内存中缓存的写指令追加到新 AOF 文件中。

当追加结束后,redis 就会用新 AOF 文件来代替旧 AOF 文件,之后再有新的写指令,就都会追加到新的 AOF 文件中了。

3)缺点:运行效率、恢复速度、文件提及与rdb相比都差一些。

三、Redis发布订阅

Redis 发布/订阅是一种消息传模式,其中发送者(在Redis术语中称为发布者)发送消息,而接收者(订阅者)接收消息。传递消息的通道称为channel

(1) 原理

本质上通道是所有的消息发布者是一个字典,然后每个字典对应一个链表;所有订阅者都是存储在一个链表中。

(2) 命令:

命令描述
PSUBSCRIBE订阅一个或多个符合给定模式的频道。
PUBSUB查看订阅与发布系统状态。
PUBLISH将信息发送到指定的频道。
PUNSUBSCRIBE退订所有给定模式的频道。
SUBSCRIBE订阅给定的一个或多个频道的信息。
UNSUBSCRIBE指退订给定的频道。

(3) 订阅实例图:

客户端订阅消息:SUBSCRIBE xxx

 发布者通过通道发送信息: PUBLISH  xxxx

 (4):使用场景:

实时消息

事实聊天

订阅,关注系统

复杂的场景的话就要使用消息中间件:MQ、Kafka等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值