本文阐述了在PHP中基于Redis消息队列发布微博的方法。分享给大家参考,如下:
phpRedisAdmin :github地址图形化管理界面
gitclone[URL]https://github.com/erikdubbelboer/phpredisadmin.git[/URL]CD phpredisadmingicklone[URL]https://github.com/nrk/predis.git[/URL]厂商首先安装了上述Redis图形管理界面,可以方便地管理Redis数据
为了降低Mysql的并发性,首先将用户的微博存储在Redis中
假设用户在发布时需要三个字段,uid(用户id号)、用户名(用户名)和内容(“用户评论”)
例如,用户传输以下信息
//这里需要安装phpredis $ Redis=new Redis();$redis-connect('127.0.0.1 ',6379);//connection redis $ web _ info=array(' uid '=' 123456 ',' username'=' 123 ',' content '=' 123 ');//将数组转换为json来存储$ list=JSON _ encode($ web _ info);//lpush在KEY对应的头部增加一个字符串元素$ redis-lpush(' Weibo _ list ',$ list);$ redis-close();///var _ dump(JSON _ encode($ web _ info));var _ dump($ list);
我们可以在这里看到,我们的redis已经有了数据
//创建一个PDO数据库链接data . phpclass QQ { public function post($ uid=' ',$ username=' ',$ content=' '){ try { $ DSN=' MySQL 3360 host;dbname=localhostdbname=test ';$db=新PDO($dsn,‘root’,‘root’);$ db-exec(' SET NAMES UTF8 ');$ SQL=' insert in test(uid,username,content)值(' $uid ',' $username ',' $ content ')';$ db-exec($ SQL);} catch(PDOException $ e){ $ e-Getmessage();} } }//处理redis数据库的数据,放入MYSQL数据库的数据包括‘data . PHP’;$qq=新QQ();$ Redis=new Redis();$redis-connect('127.0.0.1 ',6379);//返回列表的大小。如果列表不存在或为空,则命令返回0。如果键不是LIST,则命令返回false if($ redis-lsize(' Weibo _ LIST '){//从列表头中删除并返回删除的数据$ info=$ redis-rPop(' Weibo _ LIST ');$ info=JSON _ decode($ info);$qq-post($info-uid,$info-username,$ info-content);} $ redis-close();var _ dump($ info);
我们可以看到数据库已经有数据了
更多对PHP相关内容感兴趣的读者可以查看本网站专题:《php+redis数据库程序设计技巧总结》、《PHP扩展开发教程》、《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php常见数据库操作技巧汇总》、0103010
希望本文对PHP编程有所帮助。