ホームページ >バックエンド開発 >PHPチュートリアル >PHP キャッシュ使用時の落とし穴_PHP チュートリアル
まずコードを見てみましょう:
[php]
/**
* 設定情報を取得します
*/
パブリック関数 getCoinSetting() {
$cache = Common::getTair();
$ckey = Common::hashKey("Hello");
$ret = $cache->get($ckey);
if ($ret) は json_decode($ret, true) を返します
$taomanyiApiService = $this->getTmiApiService();
$result = $taomanyiApiService->getCoinSetting();
$cache->set($ckey, json_encode($result), 3600);
$result を返します。
}
これは、Tair メモリ キャッシュを使用する例です。このコードでは、キャッシュが設定されており、キャッシュ時間は 3600 秒です。 APIからデータを取得するのですが、このように書くとどのような問題が発生するのでしょうか?次の場合:
[php]
$result = $taomanyiApiService->getCoinSetting();
$resultデータはHTTPからリクエストされているため、$resultで取得したデータが空であることもよくあります。この場合、HTTP リクエストが失敗すると、インターフェース データをリクエストできなくなります。次のステップはキャッシュを設定することです
。
[php]
$cache->set($ckey, json_encode($result), 3600);
次の最適化を行います:
[php]
if ($result) $cache->set($ckey, json_encode($result), 3600);
www.bkjia.com
true
技術記事