Lists
本节介绍LISTs, LISTs存储一个有序的STRING队列。
一些LIST常用命令
| 命令 | 用法示例和描述 |
|---|---|
| RPUSH | RPUSH key-name value [value ...] —— 从list右侧压入数据 |
| LPUSH | LPUSH key-name value [value ...] —— 从list左侧压入数据 |
| RPOP | RPOP key-name —— 删除并返回list最右侧的项 |
| LPOP | LPOP key-name —— 删除并返回list最左侧的项 |
| LINDEX | LINDEX key-name offset —— 返回指定位置的项 |
| LRANGE | LRANGE key-name start end —— 返回指定起止范围内的项 |
| LTRIM | LTRIM key-name start end —— 截掉start到end之间的项 |

一些LIST阻塞式弹出和在LISTs之间移动itmes的命令
| 命令 | 用法示例和描述 |
|---|---|
| BLPOP | BLPOP key-name [key-name] timeout —— 弹出首个非空LIST的最左侧的item,否则等待超时时间(单位: s) |
| BRPOP | BRPOP key-name [key-name ...] timeout —— 弹出首个非空LIST的最右侧的item,否则等待超时时间(单位: s) |
| RPOPLPUSH | RPOPLPUSH source-key dest-key —— 从source弹出最右侧的item并LPUSHes到destination,同时返回item给用户 |
| BRPOPLPUSH | BRPOPLPUSH source-key dest-key timeout —— 从source弹出最右侧的item并LPUSHes到destination,同时返回item给用户。如果source为空则等待超时(单位: s) |
关于英文书中原文对blocking LIST pops的解释比较绕口,不怎么会翻译,可以参考国内的资料,应该好理解了: http://redis.readthedocs.org/en/latest/list/blpop.html
http://redis.readthedocs.org/en/latest/list/brpoplpush.html
python操作范例:

LISTs一个主要的好处是可以包含多个相同的string值。SETs与之类似,但是SET中每个item是唯一的。