MST

星途 面试题库

面试题:Redis列表命令在任务调度中的中等应用问题

在使用Redis列表命令进行简单任务调度场景下,假设要实现一个任务队列,新任务不断添加到队尾,工作线程从队头取出任务处理,写出使用Redis列表命令实现这一过程的基本代码片段(以Python和Redis - py为例),并解释其中关键命令的作用。
35.6万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试
import redis

# 连接Redis
r = redis.Redis(host='localhost', port=6379, db=0)

# 添加任务到队列(队尾)
def add_task(task):
    r.rpush('task_queue', task)

# 从队列取出任务(队头)
def get_task():
    return r.lpop('task_queue')

# 示例用法
if __name__ == "__main__":
    add_task('example_task')
    task = get_task()
    if task:
        print(f"取出任务: {task.decode('utf-8')}")

关键命令解释

  • rpush(key, *values)
    • 作用:将一个或多个值插入到列表的尾部(最右边)。在上述代码中,rpush('task_queue', task) 将新任务添加到名为 task_queue 的列表的队尾。
  • lpop(key)
    • 作用:移除并返回列表的第一个元素(最左边)。在代码中,lpop('task_queue')task_queue 列表的队头取出任务,供工作线程处理。