* 实现方式为双向链表
* 用于存储一个有序的字符串列表
* 从队列两端添加和弹出元素
* 特别适合于做消息队列
### **1.常用操作**
1. 向列表左端添加元素
`$redis->lPush('key','value');`
2. 向列表右端添加元素
`$redis->rPush('key','value');`
3. 从列表左端弹出元素
`$redis->lPop('key');`
4. 从列表右端弹出元素
`$redis->rPop('key');`
5. 获取列表中元素个数
`$redis->lSize('key');`
6. 获取列表中的某一片段的元素
`$redis->lRange('key','start','end');`
7. 删除列表中指定的值
`$redis->lRem('key','value','count');`
8. 获取指定索引的元素值
`$redis->lGet('key','index');`
9. 设置指定索引的元素值
`$redis->lSet('key','index','value');`
10. 只保留列表指定片段
`$redis->lTrim('key','start','end');`
11. 向列表中插入元素
`$redis->lInsert('key',Redis::BEFORE,existing_value,value);`
### **2.封装自己的List类**
```
/**
* List 赋值
* @param $key
* @param $value
* @return false
*/
public static function lpush($key,$value)
{
if (!self::getWrite()) {
return false;
}
return self::getWrite()->lPush($key,$value);
}
/**
* List 取值
* @param $key
* @return bool|mixed
*/
public static function rpop($key)
{
return self::getRead()->rPop($key);
}
/**
* List 数据长度
* @param $key
* @return bool|int
*/
public static function llen($key)
{
return self::getRead()->lLen($key);
}
```