<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之旅 廣告
                [TOC] ## 安裝 ``` composer require psr/cache ``` ## 接口 <details> <summary> Psr\Cache\CacheItemInterface</summary> ``` <?php namespace Psr\Cache; /** * CacheItemInterface 定了緩存系統里對緩存項操作的接口 */ interface CacheItemInterface { /** * 返回當前緩存項的「鍵」 * * 「鍵」由實現類庫來加載,并且高層的調用者(如:CacheItemPoolInterface) * **應該** 能使用此方法來獲取到「鍵」的信息。 * * @return string * 當前緩存項的「鍵」 */ public function getKey(); /** * 憑借此緩存項的「鍵」從緩存系統里面取出緩存項。 * * 取出的數據 **必須** 跟使用 `set()` 存進去的數據是一模一樣的。 * * 如果 `isHit()` 返回 false 的話,此方法必須返回 `null`,需要注意的是 `null` * 本來就是一個合法的緩存數據,所以你 **應該** 使用 `isHit()` 方法來辨別到底是 * "返回 null 數據" 還是 "緩存里沒有此數據" * * @return mixed * 此緩存項的「鍵」對應的「值」,如果找不到的話,返回 `null` */ public function get(); /** * 確認緩存項的檢查是否命中。 * * 注意: 調用此方法和調用 `get()` 時 **一定不可** 有先后順序之分。 * * @return bool * 如果緩沖池里有命中的話,返回 `true`,反之返回 `false` */ public function isHit(); /** * 為此緩存項設置「值」。 * * 參數 $value 可以是所有能被 PHP 序列化的數據,序列化的邏輯 * 需要在實現類庫里書寫。 * * @param mixed $value * 將被存儲的可序列化的數據。 * * @return static * 返回當前對象。 */ public function set($value); /** * 設置緩存項的準確過期時間點。 * * @param \DateTimeInterface|null $expiration * 過期的準確時間點,過了這個時間點后,緩存項就 **必須** 被認為是過期了的。 * 如果明確的傳參 `null` 的話,**可以** 使用一個默認的時間。 * 如果沒有設置的話,緩存 **應該** 存儲到底層實現的最大允許時間。 * * @return static * 返回當前對象 */ public function expiresAt($expiration); /** * 設置緩存項的過期時間 * * @param int|\DateInterval|null $time * 以秒為單位的過期時長,過了這段時間后,緩存項就 **必須** 被認為是過期了的。 * 如果明確的傳參 `null` 的話,**可以** 使用一個默認的時間。 * 如果沒有設置的話,緩存 **應該** 存儲到底層實現的最大允許時間。 * * @return static * 返回當前對象 */ public function expiresAfter($time); } ``` </details> <br /> <details> <summary>Psr\Cache\CacheItemPoolInterface </summary> ``` <?php namespace Psr\Cache; /** * CacheItemPoolInterface 生成 CacheItemInterface 對象 */ interface CacheItemPoolInterface { /** * 返回「鍵」對應的一個緩存項。 * * 此方法 **必須** 返回一個 CacheItemInterface 對象,即使是找不到對應的緩存項 * 也 **一定不可** 返回 `null`。 * * @param string $key * 用來搜索緩存項的「鍵」。 * * @throws InvalidArgumentException * 如果 $key 不是合法的值,\Psr\Cache\InvalidArgumentException 異常會被拋出。 * * @return CacheItemInterface * 對應的緩存項。 */ public function getItem($key); /** * 返回一個可供遍歷的緩存項集合。 * * @param string[] $keys * 由一個或者多個「鍵」組成的數組。 * * @throws InvalidArgumentException * 如果 $keys 里面有哪個「鍵」不是合法,\Psr\Cache\InvalidArgumentException 異常 * 會被拋出。 * * @return array|\Traversable * 返回一個可供遍歷的緩存項集合,集合里每個元素的標識符由「鍵」組成,即使即使是找不到對的緩存項,也要返回一個「CacheItemInterface」對象到對應的「鍵」中。 * 如果傳參的數組為空,也需要返回一個空的可遍歷的集合。 */ public function getItems(array $keys = array()); /** * 檢查緩存系統中是否有「鍵」對應的緩存項。 * * 注意: 此方法應該調用 `CacheItemInterface::isHit()` 來做檢查操作,而不是 `CacheItemInterface::get()` * * @param string $key * 用來搜索緩存項的「鍵」。 * * @throws InvalidArgumentException * 如果 $key 不是合法的值,\Psr\Cache\InvalidArgumentException 異常會被拋出。 * * @return bool * 如果存在「鍵」對應的緩存項即返回 true,否則 false */ public function hasItem($key); /** * 清空緩沖池 * * @return bool * 成功返回 true,有錯誤發生返回 false */ public function clear(); /** * 從緩沖池里移除某個緩存項 * * @param string $key * 用來搜索緩存項的「鍵」。 * * @throws InvalidArgumentException * 如果 $key 不是合法的值,\Psr\Cache\InvalidArgumentException 異常會被拋出。 * * @return bool * 成功返回 true,有錯誤發生返回 false */ public function deleteItem($key); /** * 從緩沖池里移除多個緩存項 * * @param string[] $keys * 由一個或者多個「鍵」組成的數組。 * * @throws InvalidArgumentException * 如果 $keys 里面有哪個「鍵」不是合法,\Psr\Cache\InvalidArgumentException 異常會被拋出。 * * @return bool * 成功返回 true,有錯誤發生返回 false */ public function deleteItems(array $keys); /** * 立刻為「CacheItemInterface」對象做數據持久化。 * * @param CacheItemInterface $item * 將要被存儲的緩存項 * * @return bool * 成功返回 true,有錯誤發生返回 false */ public function save(CacheItemInterface $item); /** * 稍后為「CacheItemInterface」對象做數據持久化。 * * @param CacheItemInterface $item * 將要被存儲的緩存項 * * @return bool * 成功返回 true,有錯誤發生返回 false */ public function saveDeferred(CacheItemInterface $item); /** * 提交所有的正在隊列里等待的請求到數據持久層,配合 `saveDeferred()` 使用 * * @return bool * 成功返回 true,有錯誤發生返回 false */ public function commit(); } ``` </details> <br /> <details> <summary>Psr\Cache\CacheException </summary> ``` <?php namespace Psr\Cache; /** * 異常接口,針對庫拋出的所有異常。 */ interface CacheException { } ``` </details> <br /> <details> <summary> Psr\Cache\InvalidArgumentException </summary> ``` <?php namespace Psr\Cache; /** * 無效緩存參數的異常接口。 * * 任何時候,一個無效參數傳遞到方法時,必須拋出一個實現了 * Psr\Cache\InvalidArgumentException 的異常類。 */ interface InvalidArgumentException extends CacheException { } ``` </details> <br />
                  <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>

                              哎呀哎呀视频在线观看