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. piczoom兼容性问题_浏览器不兼容原因及解决办法
  2. [WPF]WPF中材质制作——图片和矢量图之争
  3. C++ 面向对象(数据封装)
  4. JavaScript的DOM编程总结
  5. mysql设置success信息_【原创】MySQL Cluster安装部署(Success)
  6. 九宫格抽奖V1.3.26正版
  7. web前端基础(14html里面的事件)
  8. win10磁盘100官方解释_win10磁盘分区管理工具大变脸,现代磁盘管理工具喷薄而出...
  9. flask ajax 文件上传,使用ajax上传Python flask文件请求.files空的
  10. php二叉排序树,二叉排序树(建树)
  11. matlab二值化处理、分形维数和结构占比计算
  12. macOS 安装老旧版本的 adobe 应用
  13. CSS——run-in元素
  14. 190320运算符数据类型
  15. 12306 快速抢票购票程序
  16. 浅谈极值点偏移(化为单变量以及ALG不等式)
  17. 在线预览doc,docx文档
  18. electron调节windows系统音量解决方案
  19. 2、Terraform-安装
  20. js逆向加密五邑大学教务系统密码AES实现模拟登录(仅供参考)

热门文章

  1. CSS 选择器 :last-child与:last-of-type的区别
  2. Java计算两个程序运行时间
  3. Mac os下安装brew
  4. Eclipse 自动注释的设置
  5. 让所有中国人看了气氛的广东某学校捐款过程
  6. AOL、WebEx共同开发新AIM即时通讯
  7. healthd: battery l=1 v=0 t=27.0 h=2 st=1 chg=a 注释方法
  8. java中循环语句_Java语法基础之循环结构语句详解
  9. springboot2 虚拟路径设置_转载—springboot配置虚拟路径以外部访问
  10. java计算时间差_JAVA并发编程三大Bug源头(可见性、原子性、有序性),彻底弄懂...