列表数据格式
lista:value1,value2……有些类似数组;
lPush(‘key’,’value’); //从列表的最左端将数据插入列表中
lPop(‘key’); //从列表的最左侧将元素弹出列表,弹出后在列表中删除左侧的数据,弹出的就是列表最左侧的第一个元素
$rds=new Redis();
$rds->connect('127.0.0.1','6379');
for($i=0;$i<3;$i++){
$rds->lPush('ll',$i);
}
//执行完后列表的数据为 2,1,0
for($i=$rds->lLen('ll');$i>=0;$i--){
$rs=$rds->lPop('ll');
echo($rs);
}
//弹出顺序是 2,1,0
rPush(‘key’,’value’); //从列表的最右端将数据插入列表中
rPop(‘key’); //从列表的最右侧将元素弹出列表,弹出后在列表中删除右侧的数据,弹出的就是列表最右侧的第一个元素
for($i=0;$i<2;$i++){
$rds->rPush('ll',$i);
}
//列表中的数据顺序 0,1
for($i=$rds->lLen('ll');$i>=0;$i--){
$rs=$rds->rPop('ll');
echo($rs);
}//输出的顺序1,0
lLen(‘key’);//返回key的元素数量,如果key不存在返回0
lrange(‘key’,start,stop);//返回一个数组 从start开始到stop的元素
$rds->lLen('ll');//返回ll列表中的元素个数
$rs=$rds->lrange('ll',0,-10);
LREM(‘key’,’value’,’count’)命令会删除列表中前count个值为value的元素,返回值是实际删除的元素个数。
根据count值的不同,LREM命令的执行方式会略有差异:
●当count>0时LREM命令会从列表左边开始删除前count个值为value的元素;
●当count<0时LREM 命令会从列表右边开始删除前|count|个值为value的元素;
●当count=0是LREM命令会删除所有值为value的元素。例如:
$rs=$rds->lrem('ll',"123",0);//值123的元素全部删除
$rs=$rds->lrem('ll','123',4);//从左侧删除4个值为123的元素
$rs=$rds->lrem('ll','123','-4');//从右侧删除4个值为123的元素
lindex(‘key’,index);//返回index索引的元素值
lset(‘key’,index,value);//设置index索引的元素值,如index已存在覆盖原值 返回true
rs=
rds->lSet(‘la’,12,234);
$rs=$rds->lindex('ll',3);
$rds->ltrim('la',0,4);//返回true
rpoplpush(‘source’,’destation’);//将soruce最右侧的元素弹出并插入到destination列表的最左侧 返回弹出的元素值
$rs=$rds->rpoplpush('la','la');