python学习之-- redis模块管道/订阅发布
redis 模块操作剩余其他常用操作
delete(*names):删除任意的数据类型
exists(name):检测redis的name是否存在
keys(pattern='*'):根据模型获取redis的name
keys * 匹配数据库中所有Key
keys h?llo:匹配hello,hallo,hxllo等
expire(name,time):为redis的某个name设置超时时间
rename(src,dst):对redis的name重命名
move(name,db):将redis的某个值移动到指定的db下
randomkey():随机获取一个redis的name(不删除)
type(name):获取name对应的类型
scan(cursor=0, match=None, count=None)
scan_iter(match=None, count=None)
# 同字符串操作,用于增量迭代获取key
管道
redis-py默认在执行每次请求都会创建(连接池申请链接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求执行多个命令,并且默认情况下一次pipline是原子性操作。
实例
![](/assets/blank.gif)
![](/assets/blank.gif)
1 import redis 2 pool = redis.Connection(host='10.10.2.12',port=6379,db=5) # 可以设置存储使用的db,默认是0 3 r = redis.Redis(connection_pool=pool) 4 pipe = r.pipeline(transaction=True) # 启动管道 5 pipe.set('name','jack') # 写数据 6 pipe.set('age',20) 7 pipe.execute() # 启动执行
View Code
订阅/发布举例:
主程序类:
![](/assets/blank.gif)
![](/assets/blank.gif)
1 import redis 2 class RedisHelper(object): 3 def __init__(self): 4 self.__conn = redis.Redis(host='10.10.2.14',port=6379) 5 self.chan_sub = 'fm104.5' 6 self.chan_pub = 'fm104.5' 7 def public(self,msg): # 发布 8 self.__conn.publish(self.chan_pub,msg) # 向chan_pub的频道发Msg消息,publish是redis的方法 9 return True 10 def subscribe(self): # 订阅 11 pub = self.__conn.pubsub() # 开始订阅==打开收音机 12 pub.subscribe(self.chan_sub) # 选择频道为fm104.5 13 pub.parse_response() # 准备接收,启动程序里再次调用parse_response才进入接收 14 return pub
View Code
订阅:
![](/assets/blank.gif)
![](/assets/blank.gif)
1 from redis_helper import RedisHelper 2 obj = RedisHelper() 3 redis_sub = obj.subscribe() # 进入准备接收状态 4 while True: 5 msg = redis_sub.parse_response() # 这里再次调用parse_response进入接收状态 6 print(msg)
View Code
发布:
![](/assets/blank.gif)
![](/assets/blank.gif)
1 from redis_helper import RedisHelper 2 obj = RedisHelper() 3 obj.public('hello') # 发送消息hello
View Code
转载于:https://www.cnblogs.com/zy6103/p/7084071.html
python学习之-- redis模块管道/订阅发布相关推荐
- Python学习笔记13_模块
Python学习笔记13_模块 文章目录 Python学习笔记13_模块 1.导入模块和的方法及使用 2.分层的文件系统中常用的包结构 3.OS 模块 4.sys 模块 5.math 模块 6.ran ...
- Redis学习笔记---Redis的模式订阅与退订
Redis学习笔记-Redis的模式订阅与退订 1.发布订阅简介 发布订阅是一种通信的模式,Redis提供了发布订阅功能,可以用于消息的传输 Redis的发布订阅机制包括三个部分,publisher( ...
- Python学习笔记:第三方模块2
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python学习总结----时间模块 and 虚拟环境(了解)
python学习总结----时间模块 and 虚拟环境(了解) time- sleep:休眠指定的秒数(可以是小数) - time:获取时间戳# 获取时间戳(从1970-01-01 00:00:00到 ...
- Redis数据库的订阅发布
大家好,今天分享一下redis的订阅发布 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息. Redis 客户端可以订阅任意数量 ...
- redis专题-----11-----redis订阅发布以及stream
参考文章: Redis发布订阅模式(publish/subscribe). 一 订阅发布 1 概念 1)为了支持消息的多播机制,redis 引入了发布订阅模块.Redis发布/订阅(Pub/Sub)是 ...
- redis基础之订阅发布、主从复制和事务(四)
前面已经学习了redis的基本的命令行操作和数据类型,下面开始redis一些有趣的功能. 订阅和发布机制 定义:发布者相当于电台,订阅者相当于客户端,客户端发到频道的消息,将会被推送到所有订阅此频道的 ...
- python redis模块_大数据入门4 | Redis安装及python中的redis模块加载
引:前面学习了中文分词.HMM.jieba...这些有很多内容需要总结,但是时间太紧,一下写不完.所以前面的就先放一边,届时复习时再写吧. 今天把刚学的遇到的问题总结一下. 实践部分遇到的问题: 1. ...
- Python学习笔记:模块
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
最新文章
- 蓝云公布2019云生态战略,如何解决企业上云关键问题?
- linux基础命令_2
- OpenCV系列(三):Mat详解
- ubuntu shell实现99乘法表
- android p 权限控制,android 权限控制
- 论文阅读课3-GraphRel: Modeling Text as Relational Graphs for(实体关系联合抽取,重叠关系,关系之间的关系,自动提取特征)
- java拆分数据查相等_scikit learn:train_test_split,我可以确保在不同的数据集上进行相同的拆分...
- mysql 模型_MySQL的架构模型
- 马斯克又一个宏伟蓝图即将启动:卫星高速上网,没有中间商赚差价
- 网页中嵌入swf文件的几种方法
- 串口485接法图_485通讯接线方式
- Linux C语言编译警告:control reaches end of non-void function
- 互联网时代运维价值的重塑
- MATLAB中求某个函数的积分并绘图
- 【电器识别】基于AlexNet网络实现电线杆、绝缘子、发电机和电容器等电器设备识别附matlab代码
- cnblogs!I'm comeing!
- UG NX 12 草图创建过程
- Map Set,带你进入Java最常用到的两个接口 - 细节狂魔
- 【渝粤题库】广东开放大学 计算机应用基础(专科) 形成性考核
- 在Ubuntu中出现权限不够和找不到文件的解决方法