<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ##方案二:讀取緩存方式開發首頁接口 流程:從數據庫獲取信息 -> 封裝(讀取緩存,再次讀取) -> 返回數據 用途:減少數據庫壓力 學習要點: 1. 掌握靜態緩存如何設置緩存失效時間; 2. 如何設置緩存; 詳細流程: ![](https://box.kancloud.cn/351f83fe3c5dc47fe24b3216e42c39be_786x457.png) *文件連接:var/www/app/list.php* ~~~ <?php // 假設分頁參數 http://192.168.2.110/app/list.php require_once('./response.php'); require_once('./db.php'); require_once('./file.php'); $page = isset($_GET['page']) ? $_GET['page'] : 1; $pageSize = isset($_GET['pagesize']) ? $_GET['pagesize'] : 1; if (!is_numeric($page) || !is_numeric($pageSize)) { return Response::show(401, '數據不合法'); } $offset = ($page-1) * $pageSize; $sql = "select * from mk_user where score != 0 order by id desc limit " . $offset . "," . $pageSize; // 判斷是否有緩存存在 $cache = new File(); $users = array(); // 如果存在緩存,則直接獲取緩存 if (!$users = $cache->cacheData('index_mk_cache' . $page . '-' . $pageSize)) { try { $connect = Db::getInstance()->connect(); } catch(Exception $e) { return Response::show(403, '數據庫連接失敗', $users); } $result = mysql_query($sql, $connect); $users = array(); while ($user = mysql_fetch_assoc($result)) { $users[] = $user; } if($users) { $cache->cacheData('index_mk_cache' . $page . '-' . $pageSize, $users, 1200); } } if($users) { return Response::show(200, '首頁數據獲取成功', $users); } else { return Response::show(400, '首頁數據獲取失敗', $users); } ~~~ *重新定義一下緩存文件類,把緩存路徑改為緩存失效時間:var/www/app/file.php* ~~~ class File { private $_dir; // 默認路徑 const EXT = '.txt'; public function __construct() { // dirname() 當前文件目錄 $this->_dir = dirname(__FILE__) . '/files/'; //默認路徑為當前文件下的files下 } /** * [cacheData description] * @Author ZJC * @DateTime 2017-02-15T10:31:38+0800 * @param [type] $key [緩存文件文件名] * @param string $value [緩存數據] * @param integer $cacheTime [緩存失效時間] * @return [type] [description] */ public function cacheData($key, $value = '', $cacheTime = 0) { $filename = $this->_dir .$key . self::EXT; if ($value !== '') { // 將value值寫入緩存 if(is_null($value)) { return @unlink($filename); } // 判斷是否存在文件目錄,如果不存在,則創建 $dir = dirname($filename); if (!is_dir($dir)) { mkdir($dir, 0777); } $cacheTime = sprintf('%011d', $cacheTime); // file_put_contents:將一個字符串寫入文件 // int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] ) // $data部分最好為字符串形式,因為不支持多維數組;(序列化,JSON都可以) return file_put_contents($filename, $cacheTime . json_encode($value)); // c成功返回字節數,失敗返回FALSE } if(!is_file($filename)) { // 顯示緩存 return FALSE; } $contents = file_get_contents($filename); $cacheTime = (int)substr($contents, 0, 11); $value = substr($contents, 11); if($cacheTime != 0 && $cacheTime + filemtime($filename) < time()) { unlink($filename); return FALSE; } return json_decode($value, true); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看