この記事の内容は、特定の参考値を持つ 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>データベースに直接アクセスするときの応答時間は
2 回目の訪問の応答時間は 応答時間が大幅に短縮されます
関連する推奨事項:
php で Redis 拡張機能のグラフィックとテキストを追加する詳細な説明
PHP で Redis を操作するためによく使用されるメソッドの 30 のコード例
以上がRedisを使用したPHPキャッシュインスタンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。