# phpredis 教程:列表
***
> 建议使用 Redis 列表之前先学习数据结构链表
头元素和尾元素:头元素指的是列表左端/前端第一个元素,尾元素指的是列表右端/后端第一个元素。列表 list包含三个元素:[a,b,c,d,e] 其中 a 是头元素,而 e 则是尾元素。
空列表:指不包含任何元素的列表,Redis 将不存在的 key 也视为空列表。
### 列表操作
~~~
<?php
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
// Redis 没设置密码则不需要这行代码
// $redis->auth('password');
// 向队列左侧加入元素
$redis->lPush('lists', 'X');
$redis->lPush('lists', 'X');
// 向队列右侧加入元素
$redis->rPush('lists', 'Z');
// 将索引为1的数据修改为 Y
$redis->lSet('lists', 1, 'Y');
// 获取 list 长度
$length = $redis->lLen('lists');
echo $length;
// 遍历 list
$lists = $redis->lRange('lists', 0, $length - 1);
dump($lists);
// 从左侧出队一个元素(获取并删除)
$x = $redis->lPop('lists');
echo $x . PHP_EOL;
// 从右侧出队一个元素(获取并删除)
$z = $redis->rPop('lists');
echo $z . PHP_EOL;
// 获取左侧第一个元素
$y = $redis->lGet('lists', 0);
echo $y . PHP_EOL;
// 删除队列
$redis->del('lists');
~~~