* 實現方式為雙向鏈表
* 用于存儲一個有序的字符串列表
* 從隊列兩端添加和彈出元素
* 特別適合于做消息隊列
### **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);
}
```