Redis入门(三)

1. 发布订阅

1.1 命令

订阅频道

SUBCRIBE CHANNEL [CHANNEL|...]订阅给定的一个或多个频道的信息。
PSUBSCRIBE PATTERN [PATTERN ,,,]订阅一个或多个给定模式的频道。

发布频道

PUBLISH CHANNEL MESSAGE 将信息发送到指定的频道。

退订频道

UNSUBSCRIBE [CHANNEL | ...] 指退订给定的频道。
PUNSUBSCRIBE [PATTERN [PATTERN ...]] 退订所有给定模式的频道。

应用场景

这一功能最明显的用法就是构建实时消息系统,比如普通的即时聊天,群聊等功能。

  • 在一个博客网站中,有100个粉丝订阅了你,当你发布新文章,就可以推送消息给他们。
  • 微信公众号模式。

2. 多数据库

select 数据库 //数据库切换
move key 名称 数据库 //移动数据库
flushdb //清理当前数据库的所有key
flushall //清理整个Redis的数据库所有key

3. Redis事务

Redis事务可以一次执行多个命令,按顺序的串行化执行,执行中不会被其他命令插入,不许加塞。

image.png
  • Redis会将一个事务中的所有命令序列化,然后按顺序执行。
  • 执行中不会被其他命令插入,不许出现加塞行为。
步骤

3.1 事务命令

  • DISCARD 取消事务,放弃执行事务块内的所有命令。
  • EXEC 执行所有事务块内的命令。
  • MULTI 标记一个事务块的开始。
  • UNWATCH 取消WATCH命令对所有key的监视。
注意
  • WATCH key [key ...] 监视一个或多个key,如果在事务执行之前这个或这些key被其他命令所改动,那么事务将被打断。

3.2 应用场景

一组命令必须同时都执行,或者都不执行。
我们想要保证一组命令在执行的过程中不被其他命令插入。

商品秒杀(活动)
转账


4. Redis 脚本

说明

5. Redis数据淘汰策略redis.conf

概述
  • 最大缓存配置

如:maxmemory 512G

redis提供6种数据淘汰策略

淘汰策略

6. Redis持久化

6.1 简介

简介

6.2 RDB(dump.rdb)

定义
  • 优点:

快照保存数据极快,还原数据极快。
是用于灾难备份。

  • 缺点:

小内存机器不适合使用,RDB机制符合要求就会照快照。


快照条件

6.3 AOF

AOF方式

7. redis缓存于数据库一致性

7.1 解决方案

  1. 实时同步
image.png
  1. 异步队列
image.png
  1. 使用阿里的同步工具canal
image.png
  1. 采用UDF自定义函数的方式
image.png

8 .总结

8.1 缓存穿透

缓存穿透

8.2 雪崩

雪崩

缓存雪崩

8.3 热点key

热点数据

你可能感兴趣的:(Redis入门(三))