Redis消息队列及其他命令

Redis消息队列及其他命令

消息队列:
消息队列主要分为两种,分别是生产者消费者模式和发布者订阅者模式,这两种模式 Redis 都支持
生产者消费者模式:
在生产者消费者(Producer/Consumer)模式下,上层应用接收到的外部请求后开始处理其当前步骤的
操作,在执行完成后将已经完成的操作发送至指定的频道(channel)当中,并由其下层的应用监听该频
道并继续下一步的操作,如果其处理完成后没有下一步的操作就直接返回数据给外部请求,如果还有
下一步的操作就再将任务发布到另外一个频道,由另外一个消费者继续监听和处理。
模式介绍:
 生产者消费者模式下,多个消费者同时监听一个队里,但是一个消息只能被最先抢到消息的消费者
消费,即消息任务是一次性读取和处理,此模式在分布式业务架构中非常常用,比较常用的软件还有
RabbitMQ、Kafka、RocketMQ、ActiveMQ 等

在这里插入图片描述

队列介绍:
队列当中的 消息由不同的生产者写入也会有不同的消费者取出进行消费处理,但是一个消息一定是
只能被取出一次也就是被消费一次。

在这里插入图片描述

生产者发布消息:
[root@redis-s4 ~]# redis-cli
127.0.0.1:6379> AUTH 123456
OK
127.0.0.1:6379> LPUSH channel1 msg1 #从管道的左侧写入
(integer) 1
127.0.0.1:6379> LPUSH channel1 msg2
(integer) 2
127.0.0.1:6379> LPUSH channel1 msg3
(integer) 3
127.0.0.1:6379> LPUSH channel1 msg4
(integer) 4
127.0.0.1:6379> LPUSH channel1 msg5
(integer) 5
查看队列所有消息:
127.0.0.1:6379> LRANGE channel1 0 -1
1) "msg5"
2) "msg4"
3) "msg3"
4) "msg2"
5) "msg1"
消费者消费消息:
127.0.0.1:6379> RPOP channel1 #从管道的右侧消费
"msg1"
127.0.0.1:6379> RPOP channel1
"msg2"
127.0.0.1:6379> RPOP channel1
"msg3"
127.0.0.1:6379> RPOP channel1
"msg4"
127.0.0.1:6379> RPOP channel1
"msg5"
127.0.0.1:6379> RPOP channel1
(nil)
再次验证队列消息:
127.0.0.1:6379> LRANGE channel1 0 -1 
(empty list or set) #队列中的消息已经被已全部消费完毕
发布者订阅模式:
在发布者订阅者模式下,发布者将消息发布到指定的 channel 里面,凡是监听该 channel 的消费者
都会收到同样的一份消息,这种模式类似于是收音机模式,即凡是收听某个频道的听众都会收到主持
人发布的相同的消息内容。
 此模式常用语群聊天、群通知、群公告等场景。
 Subscriber:订阅者
 Publisher:发布者
 Channel:频道

在这里插入图片描述

订阅者监听频道:
[root@redis-s4 ~]# redis-cli 
127.0.0.1:6379> AUTH 123456
OK
127.0.0.1:6379> SUBSCRIBE channel1 #订阅者订阅指定的频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel1"
3) (integer) 1
发布者发布消息:
127.0.0.1:6379> PUBLISH channel1 test1 #发布者发布消息
(integer) 2
127.0.0.1:6379> PUBLISH channel1 test2
(integer) 2
127.0.0.1:6379>
各订阅者验证消息:

在这里插入图片描述
订阅多个频道:

订阅指定的多个频道
> SUBSCRIBE channel1 channel2

订阅所有频道:

127.0.0.1:6379> PSUBSCRIBE *

订阅匹配的频道:

> PSUBSCRIBE chann* #匹配订阅多个频道

redis 其他命令:

CONFIG:

config 命令用于查看当前 redis 配置、以及不重启更改 redis 配置等

更改最大内存:

127.0.0.1:6379> CONFIG set maxmemory 8589934592
OK
127.0.0.1:6379> CONFIG get maxmemory 
1) "maxmemory"
2) "8589934592"

设置连接密码:

127.0.0.1:6379> CONFIG SET requirepass 123456
OK

在这里插入图片描述
或当前配置:
在这里插入图片描述
info:

显示当前节点 redis 运行状态信息

在这里插入图片描述
SELECT:

切换数据库

在这里插入图片描述
keys:

查看当前库下的所有 key:

在这里插入图片描述
BGSAVE:

手动在后台执行 RDB 持久化操作

在这里插入图片描述
DBSIZE:

返回当前库下的所有 key 数量

在这里插入图片描述
FLUSHDB:

强制清空当前库中的所有 key

FLUSHALL:

强制清空当前 redis 服务器所有数据库中的所有 key,即删除所有数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值