redis异步处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了redis异步处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1298字,纯文字阅读大概需要2分钟。
内容图文
![redis异步处理](/upload/InfoBanner/zyjiaocheng/916/f5ca03f42d1a4f08978e617743a3d021.jpg)
$reids = new Redis; $redis->connect('localhost',6379); $redis->auth(''); //将数组转换成字符串再存到redis中 $str = serialize($_POST); //$_POST是表单提交的数据,这里省略客户端代码 $key = 'users'; //列表存储 $res = $redis->lpush($key,$str); if($res){ echo '保存数据成功'; //这里提示用户数据成功保存 (存在redis中,之后再插入mysql) }else{ echo '失败'; }
新建一个文件,用来处理redis数据插入mysql。因为redis中的数据是不断的更新的,所以把redis中的数据存到mysql中也是需要持续不断的进行,那么就需要while死循环。
![redis异步处理 - 文章图片](/upload/getfiles/0001/2021/5/9/20210509110709918.jpg)
![redis异步处理 - 文章图片](/upload/getfiles/0001/2021/5/9/20210509110710022.jpg)
$reids = new Redis; $redis->connect('localhost',6379); $redis->auth(''); $key = 'users'; $pdo = new PDO('mysql:host=localhost;dbname=user;charset=utf8','root',''); //因为挪动数据是需要不停地做 while (true) { //判断redis中是否有数据插入mysql if($redis->llen($key)>0){ //读取数据 $data = $redis->rpop($key); //将之前串行化数据转换成数组 $arr = unserialize($data); //将数据插入mysql $stmt = $pdo->prepare('insert into users (username,password,email) values (:username,:password,:email)'); //执行 $stmt->execute($arr); $res = $stmt->rowCount(); //获取受影响行数 }else{ //当没有数据需要插入mysql的时候,就暂停休息 sleep(10); //休息10秒 } }View Code
需要知道一点:不管客户端浏览器是否关闭,服务器端的死循环都是一直执行的(前提是PHP代码不会超时)。(PHP有个代码超时时间,可以通过set_time_limit()设置超时时间)。如果想要停止脚本执行,需要重启Apache服务器。
内容总结
以上是互联网集市为您收集整理的redis异步处理全部内容,希望文章能够帮你解决redis异步处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。