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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 概述 ThinkPHP采用`think\Cache`類(實際使用`think\facade\Cache`類即可)提供緩存功能支持。內置支持的緩存類型包括file、redis等。 ## 設置 全局的緩存配置需要修改`config/cache.php`文件。 新版的緩存支持多通道,可以隨時切換。默認使用的是文件緩存類型,例如: ~~~ return [ 'default' => 'file', 'stores' => [ // 文件緩存 'file' => [ // 驅動方式 'type' => 'file', // 設置不同的緩存保存目錄 'path' => '../runtime/file/', ], // redis緩存 'redis' => [ // 驅動方式 'type' => 'redis', // 服務器地址 'host' => '127.0.0.1', ], ], ]; ~~~ 緩存參數根據不同的緩存方式會有所區別,通用的緩存參數如下: | 參數 | 描述 | | --- | --- | | type | 緩存類型 | | expire | 緩存有效期 (默認為0 表示永久緩存) | | prefix | 緩存前綴(默認為空) | | serialize | 緩存序列化和反序列化方法 | ## 使用 ### 設置緩存 設置緩存有效期 ~~~ // 緩存在3600秒之后過期 Cache::set('name', $value, 3600); ~~~ 可以使用`DateTime`對象設置過期時間 ~~~ Cache::set('name', $value, new DateTime('2019-10-01 12:00:00')); ~~~ 如果設置成功返回true,否則返回false。 ### 緩存自增 針對數值類型的緩存數據,可以對數字或者浮點型數據,使用自增操作,例如: ~~~ Cache::set('name', 1); // name自增(步進值為1) Cache::inc('name'); // name自增(步進值為3) Cache::inc('name',3); ~~~ ### 緩存自減 針對數值類型的緩存數據,可以使用自減操作,例如: ~~~ // name自減(步進值為1) Cache::dec('name'); // name自減(步進值為3) Cache::dec('name',3); ~~~ ### 獲取緩存 獲取緩存數據可以使用: ~~~ Cache::get('name'); ~~~ 如果`name`值不存在,則默認返回`null`。 支持指定默認值,例如: ~~~ Cache::get('name',''); ~~~ 表示如果`name`值不存在,則返回空字符串。 ### 追加一個緩存數據 如果緩存數據是一個數組,可以通過`push`方法追加一個數據。 ~~~ Cache::set('name', [1,2,3]); Cache::push('name', 4); Cache::get('name'); // [1,2,3,4] ~~~ ### 刪除緩存 ~~~ Cache::delete('name'); ~~~ ### 獲取并刪除緩存 ~~~ Cache::pull('name'); ~~~ 如果`name`值不存在,則返回`null`。 ### 清空緩存 ~~~ Cache::clear(); ~~~ ### 不存在則寫入緩存數據后返回 ~~~ Cache::remember('start_time', time()); ~~~ 如果start\_time緩存數據不存在,則會設置緩存數據為當前時間。 第二個參數可以使用閉包方法獲取緩存數據,并支持依賴注入。 ~~~ Cache::remember('start_time', function(Request $request){ return $request->time(); }); ~~~ remember方法的第三個參數可以設置緩存的有效期。 ### 緩存標簽 支持給緩存數據打標簽,例如: ~~~ Cache::tag('tag')->set('name1','value1'); Cache::tag('tag')->set('name2','value2'); // 清除tag標簽的緩存數據 Cache::tag('tag')->clear(); ~~~ 緩存標簽不會改變緩存的讀取操作,所以獲取方式依然是: ~~~ Cache::get('name1'); ~~~ 并支持同時指定多個緩存標簽操作 ~~~ Cache::tag(['tag1', 'tag2'])->set('name1', 'value1'); Cache::tag(['tag1', 'tag2'])->set('name2', 'value2'); // 清除多個標簽的緩存數據 Cache::tag(['tag1','tag2'])->clear(); ~~~ 可以追加某個緩存標識到標簽 ~~~ Cache::tag('tag')->append('name3'); ~~~ 獲取標簽的緩存標識列表 ~~~ Cache::getTagItems('tag'); ~~~ ### 獲取緩存對象 可以獲取緩存對象,并且調用驅動類的高級方法,例如: ~~~ // 獲取緩存對象句柄 $handler = Cache::handler(); ~~~ ### 助手函數 系統對緩存操作提供了助手函數`cache`,用法如下: ~~~ // 設置緩存數據 cache('name', $value, 3600); // 獲取緩存數據 var_dump(cache('name')); // 刪除緩存數據 cache('name', NULL); // 返回緩存對象實例 $cache = cache(); ~~~ ## 跨應用緩存 在多應用模式下,默認文件緩存數據是區分不同應用的,如果你希望緩存跨應用,可以設置一個統一的數據緩存`path`目錄。 ## 切換緩存類型 沒有指定緩存類型的話,默認讀取的是`default`緩存配置,可以動態切換 ~~~ // 使用文件緩存 Cache::set('name','value',3600); Cache::get('name'); // 使用Redis緩存 Cache::store('redis')->set('name','value',3600); Cache::store('redis')->get('name'); // 切換到文件緩存 Cache::store('default')->set('name','value',3600); Cache::store('default')->get('name'); ~~~
                  <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>

                              哎呀哎呀视频在线观看