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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                Redis 最簡單的用法就是直接存儲字符串,Redis 寫入和讀取性能遠高于 MySQL。所以我們經常使用 Redis 作為緩存層為 MySQL 數據庫保駕護航。 ![](https://box.kancloud.cn/db37547f8b271a76dad552992d00cfdd_532x388.jpg) > Cache 方法默認使用的是文件緩存,需要自行去 config.php 配置文件中修改緩存存儲方式 ## 修改配置文件 默認配置\[文件緩存\] ~~~ 'cache' => [ // 驅動方式 'type' => 'File', // 緩存保存目錄 'path' => CACHE_PATH, // 緩存前綴 'prefix' => '', // 緩存有效期 0表示永久緩存 'expire' => 0, ], ~~~ Redis 緩存配置 ~~~ 'cache' => [ // 驅動方式 'type' => 'Redis', // 緩存前綴 'prefix' => '', // 緩存有效期 0表示永久緩存 'expire' => 0, // redis 主機 'host' => '127.0.0.1', // redis 端口 'port' => 6379, // redis 密碼 'password' => '', ], ~~~ 建議不使用緩存前綴,避免浪費內存空間。如果同一臺服務器上的 Redis 實例同時存儲多個項目的緩存,建議啟動多個 Redis 實例,每個實例使用不同端口,存儲不同項目的數據,避免操作阻塞影響其他項目的讀取時間。 ## 使用 ThinkPHP5 Cache類控制緩存代碼 ~~~ public function getUserData($user_id) { if (!$data = Cache::get("user:{$user_id}")) { $data = Db::name('user')->where('id', $user_id)->find(); Cache::set('user:{$user_id}', $data); } return $data; } ~~~ ## 使用 PHP Redis 控制緩存代碼 ~~~ public function getUserData($user_id) { $redis = $this->redis; if (!$data = $redis->get("user:{$user_id}")) { $data = Db::name('user')->where('id', $user_id)->find(); $redis->set('user:{$user_id}', $data); } return $data; } ~~~ 首先查詢緩存是否存在,如果存在直接返回緩存內容。不存在的話,取數據庫讀取內容后存入緩存中,下次就會直接從緩存中讀取內容。 如果項目只是存儲在 Redis 中,減輕 MySQL 壓力。建議不要設置緩存時間,由手動控制更新緩存。 示例為查詢時建立緩存,應該同時在創建數據和修改數據時也建立緩存。避免高并發下緩存沒命中,導致流量瞬間進入 MySQL 查詢。建議使用 ThinkPHP5 的模型事件`after_write`控制緩存的創建和更新。 本文示例直接使用字符串來存儲緩存,實際項目中更多的是使用哈希或者列表來實現。
                  <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>

                              哎呀哎呀视频在线观看