list

list常用命令

LPUSH aa 1 2 3 // 往aa列表的左侧推入3个元素

LRANGE aa 0 -1 // 查看aa列表的所有元素

LPOP aa 1 // aa左侧弹出一个元素

RPUSH aa 111 // aa右侧推入1个元素

RPOP aa 2 // aa右侧弹出2个元素

应用场景

1. 队列

  • LPUSH + RPOPRPUSH + LPOP 可以实现先进先出(FIFO)队列。
  • 应用场景:
    • 异步任务队列
    • 消息队列
    • 日志收集

2. 栈

  • LPUSH + LPOPRPUSH + RPOP 可以实现后进先出(LIFO)栈。
  • 应用场景:
    • 撤销操作记录
    • 浏览器历史记录
    • 临时缓存列表

3. 延时处理 / 消息管道

  • 使用 BLPOPBRPOP 可以实现阻塞队列,当列表为空时阻塞等待新元素。
  • 应用场景:
    • 实时消息推送
    • 异步任务消费
    • 分布式任务调度