think-cache

think-cache é um componente extraído do framework thinkphp, com funcionalidades de pool de conexões, suportando automaticamente ambientes de corrotina e não corrotina.

Nota
Este manual é para a versão v2 do webman. Se você está utilizando a versão v1 do webman, por favor, consulte o manual da versão v1.

Instalação

composer require -W webman/think-cache

Após a instalação, é necessário reiniciar (reload não é eficaz).

Arquivo de configuração

O arquivo de configuração é config/think-cache.php.

Uso

  <?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));
      }
  }

Interfaces fornecidas

// Configura o cache
Cache::set('val','value',600);
// Verifica se o cache está configurado
Cache::has('val');
// Obtém o cache
Cache::get('val');
// Remove o cache
Cache::delete('val');
// Limpa o cache
Cache::clear();
// Lê e remove o cache
Cache::pull('val');
// Se não existir, grava
Cache::remember('val',10);

// Para dados de cache do tipo numérico, você pode usar
// Incrementar o cache +1
Cache::inc('val');
// Incrementar o cache +5
Cache::inc('val',5);
// Decrementar o cache -1
Cache::dec('val');
// Decrementar o cache -5
Cache::dec('val',5);

// Usando tags de cache
Cache::tag('tag_name')->set('val','value',600);
// Remove dados de cache sob uma determinada tag
Cache::tag('tag_name')->clear();
// Suporta especificar múltiplas tags
Cache::tag(['tag1','tag2'])->set('val2','value',600);
// Remove dados de cache sob múltiplas tags
Cache::tag(['tag1','tag2'])->clear();

// Usando diferentes tipos de cache
$redis = Cache::store('redis');

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