>  기사  >  백엔드 개발  >  게시 및 Weibo에서 높은 동시성을 달성하기 위해 Redis와 결합된 PHP를 사용하는 방법

게시 및 Weibo에서 높은 동시성을 달성하기 위해 Redis와 결합된 PHP를 사용하는 방법

墨辰丷
墨辰丷원래의
2018-05-29 15:10:091180검색

이 글에서는 PHP와 redis를 결합하여 높은 동시성을 달성하는 방법과 Weibo를 주로 소개합니다. 관심 있는 친구들은 모두에게 도움이 되길 바랍니다.

포스팅, 웨이보 게시, 좋아요, 댓글 달기 등 매우 자주 수행되는 작업은 동시성이 작은 경우 데이터베이스에 직접 저장하는 것이 가장 쉽습니다. 이 경우 지연을 채택할 수 있습니다. 게시: 먼저 게시 작업을 대기열에 저장하고 백그라운드 프로세스를 반복하여 이를 획득한 다음 Weibo 게시를 시뮬레이션하고 입력합니다. redis 대기열이 먼저

weibo_redis.php redis 대기열이 Weibo

Pdodb.class.php


<?php
//此处需要安装phpredis扩展
$redis = new Redis();
$redis->connect(&#39;127.0.0.1&#39;, 6379);
$redis->auth("php001");
//连接redis
$web_info= array(
	&#39;uid&#39; => $_REQUEST[uid], //发布者id
	&#39;username&#39; => $_REQUEST[username],//发布者用户名
	&#39;content&#39; =>$_REQUEST[content],//微博内容
);


//将数组转成json来存储
$list = json_encode($web_info);
//lpush向KEY对应的头部添加一个字符串元素
$redis->lpush(&#39;weibo_lists&#39;,$list);
$redis->close();
var_dump($list);
?>

weibo_mysql을 가져옵니다. php

<?php
class Pdodb{
	public function post($uid=&#39;&#39;,$username=&#39;&#39;,$content=&#39;&#39;){
		try{
			$dsn = "mysql:localhost;dbname=localhost;dbname=big";
			$db = new PDO($dsn,&#39;big&#39;,&#39;123456&#39;);	
			$db->exec("SET NAMES UTF8");
			$sql ="insert into ih_weibo(uid,username,content)values(&#39;$uid&#39;,&#39;$username&#39;,&#39;$content&#39;)";
			//echo $sql;
			$db->exec($sql);
		}catch(PDOException $e){
			echo $e->getMessage();
		}
	}
}


백그라운드에서 weibo_mysql.php 실행

nohup php /var/www/html/big/weibo_mysql.php &위 내용은 이 글의 전체 내용이므로, 모든 분들의 학습에 도움이 되길 바랍니다.


관련 권장 사항:


phpredis 어셈블리

PHP Redis, phpredis


php 설치 redis 확장, phpredis 확장


위 내용은 게시 및 Weibo에서 높은 동시성을 달성하기 위해 Redis와 결합된 PHP를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.