取用Redis实现阻塞式数据读取(redis 阻塞读)
Redis阻塞式数据读取是使用Redis实现消息系统的关键。它的运行的基本原理是:当有一个客户端发送了一个消息,它会等待另一端的反馈才进入下一步,这样就很容易实现消息的阻塞式读取。
以下是一个简单的使用Redis实现阻塞式数据读取的示例:
需要在服务器端安装Redis,并启动服务。
然后,客户端需要连接Redis服务,然后将要发送的消息放入Redis服务中。
接下来,客户端通过调用Redis进行数据读取,也就是设置超时时间,如果超过设定时间,则返回null。
当客户端收到反馈后,再命令Redis返回数据,处理完之后继续收取消息或者发送消息,如此反复,就可以实现阻塞式数据读取。
例代码如下:
//客户端
//Redis连接
$redis = new Redis();
$redis->connect(‘127.0.0.1’,port);
//设置超时时间
$redis->setOption(Redis::OPT_READ_TIMEOUT,-1);
//当未收到反馈时,超时返回null
$result = $redis->brPop(‘queue_name’,5);
if($result == null){
echo ‘No message’;
}else{
print_r($result);
}
以上代码就实现了Redis的阻塞式数据读取功能,当Redis接收到反馈时,将会返回数据,以实现消息的通道。
香港服务器首选后浪云,2H2G首月10元开通。
后浪云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
版权声明:
作者:后浪云
链接:https://www.idc.net/help/70759/
文章版权归作者所有,未经允许请勿转载。
THE END