redis实现模拟订阅回复

在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原因是因为那时候Web站点基本上访问和并发不高、交互也较少。而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般是在磁盘的I/O上。而随着互联网技术的进一步发展,各种类型的应用层出不穷,这导致在当今云计算、大数据盛行的时代,对性能有了更多的需求,主要体现在以下几个方面:

> 1. 低延迟的读写速度:应用快速地反应能极大地提升用户的满意度
> 2. 支撑海量的数据和流量:对于搜索这样大型应用而言,需要利用PB级别的数据和能应对百万级的流量
> 3. 大规模集群的管理:系统管理员希望分布式应用能更简单的部署和管理

我们来实现一下通过python控制redis进而实现订阅的基本原理

需求

首先假设,我现在有一个用户a,它需要订阅b的频道从而接受到有关b所发送的消息

实操

系统:windows

目录

接收部分

发送部分


第一步肯定是要先打开我们的redis-server

打开powershell输入redis-server回车,进入:

我们现在先来模拟接收订阅信息的部分:

接收部分

先导入所需要的库,以及构建好redis对象

import redis

r = redis.Redis(host='127.0.0.1')

然后我们就要介绍一个方法:pusub()

pub = r.pubsub()

使用Redis对象r创建一个发布/订阅对象pub。这个对象允许你订阅或发布消息到指定的频道。

还有一个方法:subscribe()实际上就是指定一个订阅对象:

pub.subscribe('mychannel')

这里就相当于指定好了“mychannel”

接下来初始化与redis服务器的连接:

pub.parse_response()

再建立一个死循环,就可以一直监听 “mychannel” 的消息了

while True:
    print('waiting.......')
    res = pub.parse_response()
    print('res:', res[2])


OK!!

现在我们就做好了监听器,也就是接收对象的人,但是“mychannel”呢??

发送部分

我们新建一个python文件

重新导入redsi

import redis

r = redis.Redis(host='127.0.0.1')

然后再使用:publish() 方法

r.publish('mychannel', 'Hello World!')

使用Redis对象r调用publish方法来向名为'mychannel'的频道发送消息。消息内容是字符串'hello world'。发布者将消息发送到频道后,所有订阅了该频道的订阅者都会收到这条消息。

接着回到上一个文件,我们先运行接收部分,,然后接着运行发送部分的python文件。

可以看到一个有趣的是:

waiting........
res b'hello world'
waiting........

接收部分已经接收到了发送的‘hello world’啦!!

那么我们就已经完成了基础的模拟订阅功能

本章节的源码也已经帮助到该文章了!!

--------

希望这篇文章能帮助到你

也可以在评论区留下你遇到的困难哦!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM(Spring+Spring MVC+MyBatis)框架和Redis数据库通常可以结合使用以实现发布订阅功能。 发布订阅模式是一种面向消息的通信方式,多个接收者监听同一个主题,当主题发布消息时,所有接收者都会接收到通知并执行相应的操作。Redis的发布订阅功能是Redis提供的一种基于事件驱动的消息通知机制,可以让多个客户端同时接收系统事件的通知。 在SSM框架中,可以使用Spring框架的事件驱动机制来实现发布订阅功能。具体地,可以在Spring框架的配置文件中配置一个事件监听器(Event Listener),该监听器会监听指定的事件。当该事件发生时,监听器会接收到事件通知,并执行相应的业务逻辑。例如,可以将Redis的发布消息事件(PUBLISH)作为Spring事件,然后在事件监听器中实现对该事件的处理逻辑。 在Redis中,可以使用PUBLISH命令向指定的频道(Channel)发布消息。多个客户端可以使用SUBSCRIBE命令来订阅指定的频道,当有消息发布到该频道时,所有订阅该频道的客户端都会接收到该消息。 因此,在SSM和Redis实现发布订阅功能的步骤大致可以分为以下几步: 1. 配置Redis连接信息,以便SSM框架能够正确连接到Redis数据库。 2. 在Spring框架的配置文件中定义一个事件监听器,该监听器将监听Redis的发布事件。 3. 在监听器中编写事件处理逻辑,例如向所有订阅了该频道的客户端发送指定的消息。 4. 在应用程序中使用PUBLISH命令向指定的频道发布消息,或使用SUBSCRIBE命令订阅指定的频道。 通过以上步骤,便可以在SSM框架和Redis数据库实现发布订阅功能。该功能可用于实现实时消息推送、事件通知等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值