이 글의 내용은 redis를 이용한 PHP 캐싱 예제를 공유하기 위한 것인데, 이는 일정한 참고 가치가 있습니다. 도움이 필요한 친구들이 참고하면 됩니다.
저는 최근에 redis를 공부하기 시작했기 때문에 다음과 같은 작은 캐싱 예제를 작성했습니다. Redis를 사용하는 PHP가 마음에 들지 않으면 불평하지 마세요
일반적인 아이디어는 다음과 같습니다.
주로 뉴스를 캐시합니다
먼저 처음 방문하는지 확인한 다음 데이터베이스를 쿼리하고 저장합니다. 그렇지 않은 경우 redis에서 직접 데이터를 읽습니다
첫 방문인지 확인하기 위해 내부를 설정하고 내부의 유효 기간을 60초로 설정합니다(예를 들어 뉴스는 실제여야 합니다). -time)
구체적인 코드는 다음과 같습니다.
<?php //实例化redis $redis = new \Redis(); //连接redis $redis->connect('127.0.0.1',6379); $redis->auth('12345'); if($redis->get('inner')=='yes' || !$redis->get('inner')){ //第一次进入,需要缓存 //连接数据库进行查询 $db = new mysqli('127.0.0.1','root','root','table'); $sql = "select * from newsinfo"; $res = $db->query($sql); while($new = mysqli_fetch_assoc($res)){ $news[] = $new; } //将数据存入redis的list中 $json=json_encode($news); $redis->del('news');//把键值删除,防止重复 $redis->lPush('news', $json); $redis->set('inner', 'no',60); //设置键值有效期为60秒 }else{ //从redis中取出数据 $json=$redis->lRange('news', 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['title']; ?></li> <?php } ?> </body> </html>
데이터베이스에 직접 접속했을 때의 응답 시간은
두 번째 방문의 응답 시간은
응답 시간이 대폭 단축됩니다
관련 권장사항:
php에 redis 확장 그래픽 및 자세한 텍스트 설명 추가
PHP에서 Redis를 작동하는 데 일반적으로 사용되는 방법에 대한 30가지 코드 예제
위 내용은 Redis를 사용하는 PHP 캐시 인스턴스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!