<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之旅 廣告
                ## 概述 ThinkPHP采用`think\Cache`類(實際使用`think\facade\Cache`類即可)提供緩存功能支持。 內置支持的緩存類型包括file、memcache、wincache、sqlite、redis和xcache。 ## 設置 全局的緩存配置直接修改配置目錄下面的`cache.php`文件。 公共的緩存配置參數包含: 參數名|描述 ---|--- type|緩存類型或者緩存驅動類名 expire|緩存有效期(秒) prefix|緩存標識前綴 serialize|(非標量)是否需要自動序列化 不同的緩存驅動還需要配置額外的緩存參數。 如果你的應用只需要使用一種緩存類型,那么可以直接配置。 ~~~ return [ // 緩存類型為File 'type' => 'file', // 全局緩存有效期(0為永久有效) 'expire'=> 0, // 緩存前綴 'prefix'=> 'think', // 緩存目錄 'path' => '../runtime/cache/', ]; ~~~ 緩存參數根據不同的緩存方式會有所區別,通用的緩存參數如下: |參數|描述| |---|---| |type |緩存類型| |expire |緩存有效期 (默認為0 表示永久緩存)| |prefix |緩存前綴(默認為空)| ## 使用 ### 設置緩存 設置緩存有效期 ~~~ Cache::set('name',$value,3600); ~~~ 如果設置成功返回true,否則返回false。 ### 緩存自增 針對數值類型的緩存數據,可以使用自增操作,例如: ~~~ // name自增(步進值為1) Cache::inc('name'); // name自增(步進值為3) Cache::inc('name',3); ~~~ ### 緩存自減 針對數值類型的緩存數據,可以使用自減操作,例如: ~~~ // name自減(步進值為1) Cache::dec('name'); // name自減(步進值為3) Cache::dec('name',3); ~~~ ### 獲取緩存 獲取緩存數據可以使用: ~~~ dump(Cache::get('name')); ~~~ 如果`name`值不存在,則默認返回 `false`。 支持指定默認值,例如: ~~~ dump(Cache::get('name','')); ~~~ 表示如果`name`值不存在,則返回空字符串。 ### 刪除緩存 ~~~ Cache::rm('name'); ~~~ ### 獲取并刪除緩存 ~~~ Cache::pull('name'); ~~~ 如果`name`值不存在,則返回`null`。 ### 清空緩存 ~~~ Cache::clear(); ~~~ ### 不存在則寫入緩存數據后返回 ~~~ Cache::remember('name',function(){ return time(); }); ~~~ ### 獲取緩存對象 可以獲取緩存對象,并且調用驅動類的高級方法,例如: ~~~ $cache = Cache::init(); // 獲取緩存對象句柄 $handler = $cache->handler(); ~~~ ### 助手函數 系統對緩存操作提供了助手函數`cache`,用法如下: ~~~ $options = [ // 緩存類型為File 'type' => 'File', // 緩存有效期為永久有效 'expire' => 0, // 指定緩存目錄 'path' => APP_PATH . 'runtime/cache/', ]; // 緩存初始化 // 不進行緩存初始化的話,默認使用配置文件中的緩存配置 cache($options); // 設置緩存數據 cache('name', $value, 3600); // 獲取緩存數據 var_dump(cache('name')); // 刪除緩存數據 cache('name', NULL); ~~~ ## 緩存標簽 支持給緩存數據打標簽,例如: ~~~ Cache::tag('tag')->set('name1','value1'); Cache::tag('tag')->set('name2','value2'); // 或者批量設置緩存標簽 Cache::set('name1','value1'); Cache::set('name2','value2'); Cache::tag('tag',['name1','name2']); // 清除tag標簽的緩存數據 Cache::clear('tag'); ~~~ ## 同時使用多個緩存類型 如果要同時使用多個緩存類型進行操作的話,可以做如下配置: ~~~ return [ // 使用復合緩存類型 'type' => 'complex', // 默認使用的緩存 'default' => [ // 驅動方式 'type' => 'file', // 緩存保存目錄 'path' => '../runtime/default', ], // 文件緩存 'file' => [ // 驅動方式 'type' => 'file', // 設置不同的緩存保存目錄 'path' => '../runtime/file/', ], // redis緩存 'redis' => [ // 驅動方式 'type' => 'redis', // 服務器地址 'host' => '127.0.0.1', ], ], ~~~ `type`配置為`complex`之后,就可以緩存多個緩存類型和緩存配置,每個緩存配置的方法和之前一樣,并且你可以給相同類型的緩存類型(使用不同的緩存標識)配置不同的緩存配置參數。 ~~~ return [ // 緩存配置為復合類型 'type' => 'complex', 'default' => [ 'type' => 'file', // 全局緩存有效期(0為永久有效) 'expire'=> 0, // 緩存前綴 'prefix'=> 'think', // 緩存目錄 'path' => '../runtime/cache/', ], 'redis' => [ 'type' => 'redis', 'host' => '127.0.0.1', // 全局緩存有效期(0為永久有效) 'expire'=> 0, // 緩存前綴 'prefix'=> 'think', ], // 添加更多的緩存類型設置 ]; ~~~ 沒有指定緩存類型的話,默認讀取的是`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'); ~~~ 還有一種方式是調用`connect`方法動態切換緩存。 ~~~ $options = [ // 緩存類型為File 'type' => 'File', // 緩存有效期為永久有效 'expire'=> 0, //緩存前綴 'prefix'=> 'think', // 指定緩存目錄 'path' => '../runtime/cache/', ]; Cache::connect($options)->set('name','value',3600); Cache::connect($options)->get('name'); ~~~ 如果要返回當前緩存類型對象的句柄,可以使用 ~~~ // 獲取Redis對象 進行額外方法調用 Cache::store('redis')->handler(); ~~~
                  <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>

                              哎呀哎呀视频在线观看