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是原子性操作。

实例

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

订阅/发布举例:

主程序类:

 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

订阅:

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

发布:

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模块管道/订阅发布相关推荐

  1. Python学习笔记13_模块

    Python学习笔记13_模块 文章目录 Python学习笔记13_模块 1.导入模块和的方法及使用 2.分层的文件系统中常用的包结构 3.OS 模块 4.sys 模块 5.math 模块 6.ran ...

  2. Redis学习笔记---Redis的模式订阅与退订

    Redis学习笔记-Redis的模式订阅与退订 1.发布订阅简介 发布订阅是一种通信的模式,Redis提供了发布订阅功能,可以用于消息的传输 Redis的发布订阅机制包括三个部分,publisher( ...

  3. Python学习笔记:第三方模块2

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. python学习总结----时间模块 and 虚拟环境(了解)

    python学习总结----时间模块 and 虚拟环境(了解) time- sleep:休眠指定的秒数(可以是小数) - time:获取时间戳# 获取时间戳(从1970-01-01 00:00:00到 ...

  5. Redis数据库的订阅发布

    大家好,今天分享一下redis的订阅发布 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息. Redis 客户端可以订阅任意数量 ...

  6. redis专题-----11-----redis订阅发布以及stream

    参考文章: Redis发布订阅模式(publish/subscribe). 一 订阅发布 1 概念 1)为了支持消息的多播机制,redis 引入了发布订阅模块.Redis发布/订阅(Pub/Sub)是 ...

  7. redis基础之订阅发布、主从复制和事务(四)

    前面已经学习了redis的基本的命令行操作和数据类型,下面开始redis一些有趣的功能. 订阅和发布机制 定义:发布者相当于电台,订阅者相当于客户端,客户端发到频道的消息,将会被推送到所有订阅此频道的 ...

  8. python redis模块_大数据入门4 | Redis安装及python中的redis模块加载

    引:前面学习了中文分词.HMM.jieba...这些有很多内容需要总结,但是时间太紧,一下写不完.所以前面的就先放一边,届时复习时再写吧. 今天把刚学的遇到的问题总结一下. 实践部分遇到的问题: 1. ...

  9. Python学习笔记:模块

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

最新文章

  1. 蓝云公布2019云生态战略,如何解决企业上云关键问题?
  2. linux基础命令_2
  3. OpenCV系列(三):Mat详解
  4. ubuntu shell实现99乘法表
  5. android p 权限控制,android 权限控制
  6. 论文阅读课3-GraphRel: Modeling Text as Relational Graphs for(实体关系联合抽取,重叠关系,关系之间的关系,自动提取特征)
  7. java拆分数据查相等_scikit learn:train_test_split,我可以确保在不同的数据集上进行相同的拆分...
  8. mysql 模型_MySQL的架构模型
  9. 马斯克又一个宏伟蓝图即将启动:卫星高速上网,没有中间商赚差价
  10. 网页中嵌入swf文件的几种方法
  11. 串口485接法图_485通讯接线方式
  12. Linux C语言编译警告:control reaches end of non-void function
  13. 互联网时代运维价值的重塑
  14. MATLAB中求某个函数的积分并绘图
  15. 【电器识别】基于AlexNet网络实现电线杆、绝缘子、发电机和电容器等电器设备识别附matlab代码
  16. cnblogs!I'm comeing!
  17. UG NX 12 草图创建过程
  18. Map Set,带你进入Java最常用到的两个接口 - 细节狂魔
  19. 【渝粤题库】广东开放大学 计算机应用基础(专科) 形成性考核
  20. 在Ubuntu中出现权限不够和找不到文件的解决方法

热门文章

  1. 动态规划-----------01背包,完全背包与多重背包
  2. linux中重定向学习总结
  3. Windows下程序启动时出现0xc000007b错误的解决方案
  4. mongodb--find高级用法
  5. MVC系列-6.注册页面
  6. Egret note
  7. 戴尔笔记本win8全新安装
  8. android启动的阅读笔记
  9. 射频MOS管和三极管优缺点对比
  10. 16 | 基础篇:怎么理解内存中的Buffer和Cache?