python中怎么操作redis消息队列


redis 是一个 Key-Value 数据库,Value 支持 string(字符串),list(列表),set(集合),zset(有序集合),hash(哈希类型)等类型。

Redis 服务

  1、安装

  yum install redis

  2、 python安装支持模块

  /opt/python2.7.13/bin/pip install redis

  3、 和redis的简单直接交互

  In [1]: import redis

  In [2]: rc = redis.Redis(host='192.168.8.237',port=6379,decode_responses=True)

  In [5]: rc.set('imoocc','jeson')

  Out[5]: True

  In [7]: rc.get('imoocc')

  Out[7]: u'jeson'

Redis简单操作

我们可以利用 redis 类中提供的连接池方式来管理和操作 redis 的交互。

  1、连接池建立,利用连接池连接

  In [8]: connpool = redis.ConnectionPool(host='192.168.8.237',port=6379,decode_responses=True)

  In [9]: rc = redis.Redis(connection_pool=connpool)

  In [10]: rc.set('imooccp','1234566')

  Out[10]: True

  In [11]: rc.get('imooccp')

  Out[11]: u'1234566'  2、redis中DB ,指定数据存取的DB

  redis.conf中设置了db的数量,那么redis的数据库名也为0 到15,如下:

  databases 16

  指定使用那个数据库名,我们通过如下的方式,就可以了:

  In [29]: connpool = redis.ConnectionPool(host='192.168.8.237',port=6379,decode_responses=True,db=3)

  In [30]: rc.set('test2','lllll')

  Out[30]: True

  这样就将数据库写入到db3了,如何验证呢?我们从服务端来认证最直接,如下:

  用redis-cli(redis自带的工具)登录服务端,查看写入的key。

  127.0.0.1:6379> SELECT 3

  OK

  127.0.0.1:6379[3]> KEYS * //查看db 3这个库下所有的key

  1) "imooccc"

那么 接下来介绍redis详细项目使用的内容,大家不要觉得介绍的内容扩散太大。

最近在作一个任务系统,任务写入是不定时的,我们需要用一个程序去定期消费这些任务,必须是有先后顺序的,而且是前一个任务确认执行完后,才会去执行下一个。

怎么办呢?用队列啊,对吧!用什么队列,怎么用?

介绍下为什么要用redis来作消息处理:

AILOGO AILOGO

LOGO123旗下的AI智能LOGO生成器,只需输入品牌名称就能免费在线生成公司logo设计及配套企业VI,轻松打造您的个性品牌!

AILOGO 139 查看详情 AILOGO

简单说,redis支持两种消费模式,一种发布-订阅模式,及一个消息会被多个消费者处理(简单说类似是一个广播消息,所有人都会接收)。显然,在我的系统中不适用这种方法,相反地,系统需要采用队列模式,以便按照任务到达的先后顺序进行优先处理。那么对队列用什么类型得数据库结构来作呢?

先得聊聊list

list 这个数据类型,在python里是一个列表,在redis里就是一个有序队列(或者说数据链表)了。

类型图示如下: python中怎么操作redis消息队列

大家看了这个结构就可以清楚了,我们可以利用list的数据接口模式,设计从左端和右端都可以对list进元素的同向处理(满足队列的特性先到先出)。

  1、从左端插入元素

  In [10]: rc.lpush('tasklist',1,2,3)

  Out[10]: 3L

  打印输出内容,如下:

  In [17]: print(rc.lrange('tasklist',0,2))

  [u'3', u'2', u'1']

  类似的从左测插入的方法还有lpushx(name,value),区别只有当name存在才将value插入到最左边。

  2、从右边插入元素

  In [21]: rc.rpush('tasklist','5')

  Out[21]: 5L

  In [22]: print(rc.lrange('tasklist',0,4))

  [u'4', u'3', u'2', u'1', u'5']

  3、从左边取出元素怎么取呢?

  In [23]: rc.lpop("tasklist")

  Out[23]: u'4'  In [24]: rc.lpop("tasklist")

  Out[24]: u'3'  In [25]: print(rc.lrange('tasklist',0,4))

  [u'2', u'1', u'5']

  我们会看到从左侧已经取出了两个元素了。剩下来[u'2', u'1', u'5']

  4、从右侧呢?

  当然就是rc.rpop()了

以上就是python中怎么操作redis消息队列的详细内容,更多请关注其它相关文章!


# 是有  # 蓝月亮营销推广岗  # 项城网站推广电话是多少  # 抖音搜索推广关键词排名  # seo分类多元化  # 品牌企业怎么做seo  # 辽源seo百亿互刷宝  # 盐城seo快速优化  # 私域营销推广找哪家  # 成都seo网站建设报价  # 黄冈网站建设与推广  # Python  # 出了  # 看了  # 您的  # 就可以  # 来作  # 可以利用  # 连接池  # 左端  # 是一个  # redis 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 不吃碳水化合物是健康减肥的好办法吗  画质怪兽120帧安卓和平精英免费版  哈尔滨城市通昵称修改方法  VS Code如何设置默认配置  《U校园》学生登录入口2025  windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化  b站如何剪辑视频_b站必剪app使用教程  excel怎么制作考勤表 excel考勤模板与函数公式讲解  《洛克王国:世界》国家队搭配攻略  智学网app怎么登录忘记密码_智学网app忘记密码找回与重新登录操作方法  Lar*el Socialite单设备登录策略:实现用户唯一会话管理  告别阻塞等待:如何使用GuzzlePromises优雅处理PHP异步操作,提升应用响应速度  腾讯QQ邮箱官方入口 QQ邮箱网页版登录平台  快递物流路径揭秘  cad加载的线型看不见怎么办_cad线型不可见问题解决方法  4399造梦西游3无敌版_4399游戏入口  Yandex俄罗斯搜索引擎官网入口 Yandex网页端直接访问  Win10如何查看已安装的更新补丁 Win10卸载指定更新教程【教程】  CSS布局中意外顶部空白的调试与解决:深入理解padding-top  PPT页面尺寸怎么修改 PPT自定义幻灯片大小与方向设置【教程】  猫眼电影app怎么查询电影院的营业时间_猫眼电影影院营业时间查询教程  《淘票票》添加到苹果钱包教程  Pydantic 中“schema”字段命名冲突的解决方案  Win10如何彻底关闭OneDrive Win10禁用云同步功能【纯净】  Python模块化编程:避免循环导入与共享函数的最佳实践  繁花漫画使用教程  服装短视频如何起号推广?服装短视频起号推广有什么要求?  抖音网页版地址直接进入_抖音网页版在线观看入口  t3出行如何使用微信支付  Microsoft Edge网页字体太淡看不清怎么办_Microsoft Edge字体渲染优化技巧  SQLAlchemy 2.0 与 Pydantic 模型类型安全集成指南  《360浏览器》自动保存账号密码设置方法  管理打开的编辑器:固定、分组和关闭技巧  解决CSS background 属性中 cover 关键字的常见误用  为什么XML解析器对大小写敏感? 理解XML规范中的大小写规则与最佳实践  汽水音乐官网网页版入口 汽水音乐官网网页版在线入口  创客贴登录页面入口 创客贴网页版最新网址链接  《百度畅听版》关闭兴趣推荐方法  猫眼app抢票快还是小程序快  告别繁琐SEO!如何使用SyliusSitemap插件自动化生成网站地图,提升搜索引擎排名  mysql中如何配置字符集和排序规则_mysql字符集排序配置  韩剧圈正版官网入口_韩剧圈官方指定登录  iPhone 13 Pro Max如何设置桌面小组件_iPhone 13 Pro Max小组件添加指南  无人机考证官网 中国民航无人机考证官网登录入口  微信步数怎么刷_微信步数快速提升技巧  《大学搜题酱》官网地址登录  C++如何使用CMake构建项目_C++ CMakeLists.txt编写入门教程  百度小说看书时如何翻页_百度小说手动翻页与自动翻页设置  喜茶GO更换登录账号方法  抖音赚钱快速入门_新手必看的抖音赚钱步骤 

 2023-05-28

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.