日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python交互Redis的實現_Redis

作者:碼農的禿頭之旅 ? 更新時間: 2022-10-06 編程語言

模塊(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!-')

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

欄目分類
最近更新