think-cache

think-cacheはthinkphpフレームワークから抽出されたコンポーネントであり、接続プール機能を追加し、コルーチンと非コルーチン環境の両方を自動的にサポートします。

注意
現在のマニュアルはwebman v2バージョンです。webman v1バージョンを使用している場合は、v1バージョンマニュアルを参照してください。

インストール

composer require -W webman/think-cache

インストール後はrestartで再起動する必要があります(reloadは無効です)。

設定ファイル

設定ファイルは config/think-cache.php です。

使用方法

<?php
namespace app\controller;

use support\Request;
use support\think\Cache;

class UserController
{
    public function db(Request $request)
    {
        $key = 'test_key';
        Cache::set($key, rand());
        return response(Cache::get($key));
    }
}

提供されるインターフェース

// キャッシュを設定
Cache::set('val','value',600);
// キャッシュが設定されているかを確認
Cache::has('val');
// キャッシュを取得
Cache::get('val');
// キャッシュを削除
Cache::delete('val');
// キャッシュをクリア
Cache::clear();
// キャッシュを読み取り削除
Cache::pull('val');
// 存在しない場合は書き込む
Cache::remember('val',10);

// 数値型のキャッシュデータに対しては
// キャッシュを増やす +1
Cache::inc('val');
// キャッシュを増やす +5
Cache::inc('val',5);
// キャッシュを減らす -1
Cache::dec('val');
// キャッシュを減らす -5
Cache::dec('val',5);

// キャッシュタグを使用
Cache::tag('tag_name')->set('val','value',600);
// 特定のタグ下のキャッシュデータを削除
Cache::tag('tag_name')->clear();
// 複数のタグを指定することをサポート
Cache::tag(['tag1','tag2'])->set('val2','value',600);
// 複数のタグ下のキャッシュデータを削除
Cache::tag(['tag1','tag2'])->clear();

// 様々なキャッシュタイプを使用
$redis = Cache::store('redis');

$redis->set('var','value',600);
$redis->get('var');