Python Redis 发布订阅

- 发布者:服务器
- 订阅者:Dashboad和数据处理
频道主逻辑
import redis
class RedisHelper:
def __init__(self):
# 链接服务端
self.__conn = redis.Redis(host='192.168.1.110')
# 加入两个频道
self.chan_sub = 'fm104.5'
self.chan_pub = 'fm104.5'
def public(self, msg):
#发消息订阅方
# publish发消息加入频道chan_pub
self.__conn.publish(self.chan_pub, msg)
return True
def subscribe(self):
# 开始订阅pubsub()
# 打开收音机
pub = self.__conn.pubsub()
# 调频道 subscribe
pub.subscribe(self.chan_sub)
# 准备接收parse_response()
# 在次调用parse_response() 开始接收
pub.parse_response()
# 返回订阅变量
return pub
订阅者:
# -*- coding:utf-8 -*-
# 调用shelper
from redis_shelper import RedisHelper # 实例化RedisHelper类对象
obj = RedisHelper() # 赋值订阅变量
redis_sub = obj.subscribe() # 循环执行如下命令
while True:
# 二次调用parse_response() 开始接收
msg= redis_sub.parse_response()
print(msg)
发布者:
#!/usr/bin/env python
# -*- coding:utf-8 -*- #调用逻辑模块
from redis_shelper import RedisHelper # 实例化对象
obj = RedisHelper() # 发消息加入频道
obj.public('hello')
Python Redis 发布订阅的更多相关文章
- python redis 发布订阅 实现 RPC同步
工作中用到的场景是,python主程序发布消息到Redis,然后停住等待Redis上订阅的Response.等待过程是阻塞的,相当于把异步通信封装成同步通信,类似于Java的RPC. RPC封装的代码 ...
- Python 操作 Redis 发布订阅
Python 操作 Redis 发布订阅 介绍 Redis可以通过多个客户机订阅相同的频道,一个服务机在相应频道进行发布,从而实现在客户机收听服务机发布相应信息,可以利用这个机制实现多个客户机之间的信 ...
- python中使用redis发布订阅者模型
redis发布订阅者模型: Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel.发布者和订阅者都是Redis客户端,Channel则 ...
- RedisRepository封装—Redis发布订阅以及StackExchange.Redis中的使用
本文版权归博客园和作者本人吴双共同所有,转载请注明本Redis系列分享地址.http://www.cnblogs.com/tdws/tag/NoSql/ Redis Pub/Sub模式 基本介绍 Re ...
- redis发布/订阅
发布订阅简介 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息,消息之间通过channel传递. 准备工作 两台安装了redis的机器(虚拟 ...
- MariaDB主从复制,redis发布订阅,持久化,以及主从同步
一. MariaDB主从复制 mysql基本操作 1 连接数据库 mysql -u root -p -h 127.0.0.1 mysql -u root -p -h 192.168.12.60 2 ...
- redis发布订阅、事务、脚本
Redis 发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下图展示了频道 cha ...
- 利用Redis发布订阅完成tomcat集群下的消息通知
以下为个人想法,如果有说的不对的地方请各位大佬见谅! 这是博主的第一篇博客,可能排版以及一些描述有不合理的地方还请勿喷,希望大家尽可能的多给我这样的新人一些鼓励让我能在写博客的道路上走下去. 进入正题 ...
- Redis发布订阅机制
1. 什么是Redis Redis是一个开源的内存数据库,它以键值对的形式存储数据.由于数据存储在内存中,因此Redis的速度很快,但是每次重启Redis服务时,其中的数据也会丢失,因此,Redis也 ...
随机推荐
- 从0移植uboot(三) _编译最小可用uboot
前两篇介绍了uboot-2013.01的配置原理以及大体的运行流程,本文将讨论如何对uboot源码进行配置,将一个可用的uboot烧录到SD卡中. 定制自己的core board 市面上能买到的开发板 ...
- work table a year
近10个月~ 回顾一下最近写代码和博客~ 4.5.6月份刷OJ~ 7月中旬入职滴滴,几乎放弃了博客... GitHub提交统计,主要集中在准备机试,刷了九度OJ~ GitLab in didi~ 很 ...
- hibernate的面试总结
hibenate的面试总结. 可能现在大家常常还会遇到一个些面试的时候问一些关于hibernate的问题,我个人觉得,这些东西一般做过开发的人在使用上没有任何的问题的,但是如果是要你来说就不一定能够说 ...
- bash 脚本。find 命令,xargs
rm 排除指定文件或文件夹 rm -r !(.git) find 命令两个用法 find <指定目录> <指定条件> <指定动作> $ find . -name ' ...
- C++ main函数的参数
C++的main函数可以没有输入参数,也可以有输入参数,而且只能有两个参数,习惯上coding如下: int main(int argc, char* argv[]) 或者 int main(int ...
- hive reduce 阶段GC Exception
某个reduce中的value堆积的对象过多,导致jvm频繁GC. 解决办法: 1. 增加reduce个数,set mapred.reduce.tasks=300,. 2. 在hive-site.xm ...
- linux命令sync,shutdown
1.数据同步写入磁盘: sync 输入sync,那举在内存中尚未被更新的数据,就会被写入硬盘中 hling@hling:~$ sync 2.惯用的关机指令:shutdown 实例:
- 2016ACM/ICPC亚洲区沈阳站 - A/B/C/E/G/H/I - (Undone)
链接:传送门 A - Thickest Burger - [签到水题] ACM ICPC is launching a thick burger. The thickness (or the heig ...
- python练习题-员工信息表
周末大作业:实现员工信息表文件存储格式如下:id,name,age,phone,job1,Alex,22,13651054608,IT2,Egon,23,13304320533,Tearcher3,n ...
- PHP自定义curl请求
function http_post($url,$param,$post_file=false,$headers=[]){ $oCurl = curl_init(); if(stripos($url, ...