脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python交互Redis的实现

Python交互Redis的实现

2022-08-10 16:57码农的秃头之旅 Python

本文主要介绍了Python交互Redis的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

模块(redis)

Ubuntu

?
1
sudo pip3 install redis

使用流程

?
1
2
3
import redis
# 创建数据库连接对象
r = redis.Redis(host='127.0.0.1',port=6379,db=0,password='123456')

代码示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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

?
1
2
3
4
5
6
7
import redis
# 1 创建redis数据库连接对象
r = redis.Redis(password='123456')
# 2.向任务队列中添加任务,使用列表类型
# 任务格式: 任务类别_发送者_接收者_内容
task = 'sendMail_aid2102_mzg_helloworld'
r.lpush('lst:tasks',task)

进程2: 消费者,consumer.py

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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!-')

到此这篇关于Python交互Redis的实现的文章就介绍到这了,更多相关Python交互Redis内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_45185267/article/details/125295005

延伸 · 阅读

精彩推荐