Python交互Redis的实现是怎样的
Admin 2022-08-13 群英技术资讯 278 次浏览
模块(redis)
Ubuntu
sudo pip3 install redis
使用流程
import redis # 创建数据库连接对象 r = redis.Redis(host='127.0.0.1',port=6379,db=0,password='123456')
代码示例
import redis # 1 创建redis数据库连接对象 r = redis.Redis(password='123456') # 2 使用,很多命令的返回值是字节串,需要用字符串 # 表示时,调用decode方法. # 3.1 通用命令... print(r.keys('*')) print(r.exists('name')) # 3.2 字符串类型的操作 r.set('uname', 'aid2102', 60) print(r.get('uname').decode()) r.mset({'a': 100, 'b': 200, 'c': 300}) print(r.mget(['a', 'b', 'c'])) # 3.3 列表类型的操作 r.lpush('pylk1',100,200,300) print(r.lrange('pylk1',0,-1))
list案例: 一个进程负责生产任务,一个进程负责消费任务
进程1: 生产者,product.py
import redis # 1 创建redis数据库连接对象 r = redis.Redis(password='123456') # 2.向任务队列中添加任务,使用列表类型 # 任务格式: 任务类别_发送者_接收者_内容 task = 'sendMail_aid2102_mzg_helloworld' r.lpush('lst:tasks',task)
进程2: 消费者,consumer.py
import redis r = redis.Redis(password='123456') while True: task = r.brpop('lst:tasks',3) if task: print(task) # (b'lst:tasks', b'sendMail_aid2102_mzg_helloworld') # 处理任务 task_data = task[1].decode() print(task_data) # sendMail_aid2102_mzg_helloworld lst_data = task_data.split('_') if lst_data[0] == 'sendMail': print('执行发送邮件的任务...') else: print('-no task!-')
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PHP项目中增删改查的实现代码是什么?在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
本文给大家介绍在PHP中如何创建共享内存减少负载,这里大家要了解一个函数shmop,下面就跟着文章讲解来学习吧~
首先通过import导入datetime包,通过datetime.datetime.now(),调用curr_time来获取当前的时间,然后使用strftime()方法将获取的时间格式转换成我们想要的格式即可。
多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行)比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送。不使用多进程时,我们首先判断是否发送邮件,如果需要则发送;然后再判断是否需要发送短信,如果需要则发送。如果发送邮件耗时2s,发送短信耗时2s,那么我们完成任务大概需要4s左右的时间。
PHP5中的对象比较要比PHP4中复杂,所期望的结果更符合一个面向对象语言。当使用比较运算符(==)比较两个对象变量时,比较的原则是:如果两个对象的属性和属性值都...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008