栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python交互Redis

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python交互Redis

python交互redis
  • 模块(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!-')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977795.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号