이 글에서는 PHP와 redis를 결합하여 높은 동시성을 달성하는 방법과 Weibo를 주로 소개합니다. 관심 있는 친구들은 모두에게 도움이 되길 바랍니다.
포스팅, 웨이보 게시, 좋아요, 댓글 달기 등 매우 자주 수행되는 작업은 동시성이 작은 경우 데이터베이스에 직접 저장하는 것이 가장 쉽습니다. 이 경우 지연을 채택할 수 있습니다. 게시: 먼저 게시 작업을 대기열에 저장하고 백그라운드 프로세스를 반복하여 이를 획득한 다음 Weibo 게시를 시뮬레이션하고 입력합니다. redis 대기열이 먼저
weibo_redis.php redis 대기열이 Weibo
Pdodb.class.php
<?php //此处需要安装phpredis扩展 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->auth("php001"); //连接redis $web_info= array( 'uid' => $_REQUEST[uid], //发布者id 'username' => $_REQUEST[username],//发布者用户名 'content' =>$_REQUEST[content],//微博内容 ); //将数组转成json来存储 $list = json_encode($web_info); //lpush向KEY对应的头部添加一个字符串元素 $redis->lpush('weibo_lists',$list); $redis->close(); var_dump($list); ?>
weibo_mysql을 가져옵니다. php
<?php class Pdodb{ public function post($uid='',$username='',$content=''){ try{ $dsn = "mysql:localhost;dbname=localhost;dbname=big"; $db = new PDO($dsn,'big','123456'); $db->exec("SET NAMES UTF8"); $sql ="insert into ih_weibo(uid,username,content)values('$uid','$username','$content')"; //echo $sql; $db->exec($sql); }catch(PDOException $e){ echo $e->getMessage(); } } }
백그라운드에서 weibo_mysql.php 실행
nohup php /var/www/html/big/weibo_mysql.php &위 내용은 이 글의 전체 내용이므로, 모든 분들의 학습에 도움이 되길 바랍니다.
관련 권장 사항:
phpredis 어셈블리
위 내용은 게시 및 Weibo에서 높은 동시성을 달성하기 위해 Redis와 결합된 PHP를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!