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!-')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值