Maison  >  Article  >  développement back-end  >  Instance de cache PHP utilisant Redis

Instance de cache PHP utilisant Redis

不言
不言original
2018-04-13 10:28:222805parcourir

Le contenu partagé avec vous dans cet article est un exemple de mise en cache de PHP utilisant Redis. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

Je viens de commencer à rechercher Redis et j'ai écrit une application PHP. . Un petit exemple de mise en cache Redis, ne vous plaignez pas si vous ne l'aimez pas

L'idée générale est la suivante :

Cache principalement les actualités

Déterminez d'abord s'il s'agit de la première visite, puis interrogez la base de données et stockez-la dans redis ; sinon, lisez les données directement depuis redis

J'ai mis en place un interne pour déterminer s'il s'agit du premier accès et défini la période de validité de l'intérieur à 60 secondes (par exemple les actualités doivent être en temps réel)

Le code spécifique est le suivant :

<?php  
//实例化redis
$redis = new \Redis();
//连接redis
$redis->connect(&#39;127.0.0.1&#39;,6379);
$redis->auth(&#39;12345&#39;); 
if($redis->get(&#39;inner&#39;)==&#39;yes&#39; || !$redis->get(&#39;inner&#39;)){
	//第一次进入,需要缓存
	//连接数据库进行查询
	$db = new mysqli(&#39;127.0.0.1&#39;,&#39;root&#39;,&#39;root&#39;,&#39;table&#39;);
	$sql = "select * from newsinfo";
	$res = $db->query($sql);
	while($new = mysqli_fetch_assoc($res)){
		$news[] = $new;
	}
        //将数据存入redis的list中
	$json=json_encode($news);
	$redis->del(&#39;news&#39;);//把键值删除,防止重复
    $redis->lPush(&#39;news&#39;, $json);
    $redis->set(&#39;inner&#39;, &#39;no&#39;,60); //设置键值有效期为60秒
}else{
	//从redis中取出数据
	$json=$redis->lRange(&#39;news&#39;, 0, -1);
	$news=json_decode($json[0],true);
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>redis缓存实例</title>
</head>
<body>
	<?php foreach ($news as $k => $v) {  ?>
		<li><?php  echo $v[&#39;title&#39;];  ?></li>
	<?php } ?>
</body>
</html>

Le temps de réponse lorsque directement l'accès à la base de données est

Le temps de réponse de la deuxième visite est

Le temps de réponse est considérablement réduit

Recommandations associées :

À propos de Redis dans PHP Résumé partiel des commandes

Explication graphique et textuelle détaillée de l'ajout de l'extension Redis à php

30 exemples de code de méthodes couramment utilisées pour utiliser Redis avec PHP



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn