php - redis做一个队列,为什么出队列是会少显示一个元素?
本文介绍了php - redis做一个队列,为什么出队列是会少显示一个元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
$redis = new redis();
3 $redis->connect('127.0.0.1',6379);
4 $arr= array('h','e','l','l','o','w','o','r','l','d');
5 foreach($arr as $k =>$val){ //入队
6 $redis->rpush('list',$val);
7 }
6 while(true){ //出对
7 $get = $redis->lpop('list');
9 if($get)
10 {
11 echo '出队列--'.$get;
12 echo '';
13 }else{
14 echo '出队完成';
15 return false;
16 }
17
18 }
1) "e"
2) "l"
3) "l"
4) "o"
5) "w"
6) "o"
7) "r"
8) "l"
9) "d"
少了一个h
解决方案
<?php
$redis = new \redis();
$redis->connect('127.0.0.1', 6379);
$arr = array('h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd');
foreach ($arr as $k => $val) { //入队
$redis->rpush('list', $val);
}
echo "队列总长度:".$redis->lLen('list');
echo "<br/>";
while (true) { //出对
$get = $redis->lpop('list');
if ($get) {
echo '出队列--' . $get;
echo '<br/>';
} else {
echo '出队完成';
return false;
}
}
这是你的代码,没有呀
队列总长度:10
出队列--h
出队列--e
出队列--l
出队列--l
出队列--o
出队列--w
出队列--o
出队列--r
出队列--l
出队列--d
出队完成

这篇关于php - redis做一个队列,为什么出队列是会少显示一个元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文