Redis List
本章介绍redis 的List的数据结构
Redis列表是字符串值的链表。Redis列表经常用于:
1、实现堆栈和队列
2、为后台工作系统提供队列管理
例如:
 第一种情况,将List视为一种先进先出的队列
 Treat a list like a queue (first in, first out):
LPUSH work:queue:ids 102
LPUSH work:queue:ids 130
RPOP  work:queue:ids
RPOP  work:queue:ids

 第二种情况 first in last out
 先进后出
LPUSH work:queue:ids 101
LPUSH work:queue:ids 290
LPOP work:queue:ids
LPOP work:queue:ids

 第三种情况
 原子性的操作,从一个list push 出来到另一个list中
LPUSH board:todo:ids 101
LPUSH board:todo:ids 237
LMOVE board:todo:ids boadr:in-process:ids LEFT LEFT
LRANG board:todo:ids 0 -1
LRANG board:in-process:ids 0 -1
LMOVE 命令必须redis版本大于6.2.0 才可以
 LMOVE 从todo的list队列移动到in-process 队列中,原子操作
限制
 1 << 32 -1(4294967295)个元素
 基本命令
 LPUSH 将一个新元素添加到列表的头部
 RPUSH 将一个新元素添加到列表的尾部
 LPOP 从头部移除
 RPOP 从尾部移除
 LLEN list长度
 LMOVE 原子移动
 LTRIM 保留特定区间的元素
 list支持多个阻塞的命令
 BLPOP
 移除并获取列表的第一个元素,如果没有阻塞



















