Redis入门实战:使用Redis实现分布式任务分发
import redis
# 连接到Redis服务器
redis_client = redis.StrictRedis(host='localhost', port=6379, db=0)
# 添加任务到分发队列
def add_task_to_queue(queue_name, task):
# 将任务添加到Redis列表中
redis_client.rpush(queue_name, task)
# 从队列中获取并执行任务
def process_tasks_from_queue(queue_name):
while True:
# 从列表头部取出一个任务
task = redis_client.lpop(queue_name)
if task:
# 假设这里是任务处理的逻辑
process_task(task)
else:
# 没有任务可做,可以在这里休眠或者退出
break
# 处理任务的函数,示例中仅打印
def process_task(task):
print(f"处理任务: {task}")
# 示例使用
add_task_to_queue('distributed_tasks', 'task1')
add_task_to_queue('distributed_tasks', 'task2')
process_tasks_from_queue('distributed_tasks')
这段代码展示了如何使用Redis的列表结构(list)来实现一个简单的分布式任务队列。add_task_to_queue
函数负责将任务添加到队列中,而process_tasks_from_queue
函数则是一个简单的循环,它会不断地从队列中取出任务并处理它们。这个例子演示了如何使用Redis来分发和处理任务,是学习Redis分布式系统设计的一个基本入门示例。
评论已关闭