PHP中利用redis实现消息队列处理高并发请求

将请求存入redis

为了模拟多个用户的请求,使用一个for循环替代

<?php<br>//redis数据入队操作
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
for($i=0;$i<50;$i++){
try{
$redis->LPUSH('click',rand(1000,5000));
}catch(Exception $e){
echo $e->getMessage();
}
}


在后台进行数据处理

守护进程

<?php
//redis数据出队操作,从redis中将请求取出
$redis = new Redis();
$redis->pconnect('127.0.0.1',6379);
while(true){
try{
$value = $redis->LPOP('click');
if(!$value){
break;
}
var_dump($value)."\n";
/*
* 利用$value进行逻辑和数据处理
*/
}catch(Exception $e){
echo $e->getMessage();
}
}

用 chown 和 chmod 修改目录所属用户及权限

1、修改 tmp 目录所属用户为 root,用户组为 root

chown -R root:root /tmp
2、修改 tmp 目录为可写权限

chmod -R 777 /tmp

解决Tensorflow 使用时cpu编译不支持警告

使用TensorFlow模块时,弹出错误Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

原因是下载TensorFlow的版本不支持cpu的AVX2编译。

可能是因为安装时使用的pip install tensorflow ,这样默认会下载X86_64的SIMD版本。

2.彻底解决,换成支持cpu用AVX2编译的TensorFlow版本。

首先,卸载原来版本的TensorFlow

pip uninstall tensorflow

完成后可以用pip list查看一下所有库,检查是否成功卸载。

然后去github下载正确的tf版本,Windows点这里下载。其他操作系统可以点这里找到对应的版本。

博主用的win10,python3.6,所以选择如下图:

对应的path在上边的找到对应的.whl下载即可。

然后安装:

然后安装:

pip install tensorflow-1.6.0-cp36-cp36m-win_amd64.whl

成功安装后,再次运行TensorFlow就不会报错啦~