php 使用 redis 的緩衝執行個體

來源:互聯網
上載者:User
本篇文章給大家分享的內容是php 使用 redis 的緩衝執行個體,有著一定的參考價值,有需要的朋友可以參考一下

最近剛開始研究redis,就寫了一個php 使用 redis 的緩衝小執行個體,不喜勿噴

大致思路如下:

主要對新聞進行緩衝

首先判斷如果是第一次訪問,則查詢資料庫,並存入redis;如果不是,則直接從redis中讀取資料

我設定了一個inner來判斷是否為第一次訪問,並且設定了inner的有效期間是60秒(例如新聞需要即時)

具體代碼如下:

<?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>

在直接存取資料庫時的反應時間為

而第二次訪問反應時間為

反應時間明顯減少了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.