think-cache

think-cache es un componente extraído del framework thinkphp, y ha añadido la funcionalidad de conexión en pool, soportando automáticamente entornos de coroutine y no coroutine.

Nota
El manual actual es de la versión v2 de webman, si está utilizando la versión v1 de webman, consulte el manual de la versión v1

Instalación

composer require -W webman/think-cache

Después de la instalación, es necesario reiniciar (reload no es efectivo)

Archivo de Configuración

El archivo de configuración es 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 proporcionadas

// Establecer caché
Cache::set('val','value',600);
// Comprobar si la caché está establecida
Cache::has('val');
// Obtener caché
Cache::get('val');
// Eliminar caché
Cache::delete('val');
// Limpiar caché
Cache::clear();
// Leer y eliminar caché
Cache::pull('val');
// Si no existe, escribir
Cache::remember('val',10);

// Para datos de caché de tipo numérico se puede usar
// Incrementar caché +1
Cache::inc('val');
// Incrementar caché +5
Cache::inc('val',5);
// Disminuir caché -1
Cache::dec('val');
// Disminuir caché -5
Cache::dec('val',5);

// Usar etiquetas de caché
Cache::tag('tag_name')->set('val','value',600);
// Eliminar datos de caché bajo una etiqueta específica
Cache::tag('tag_name')->clear();
// Soportar especificar múltiples etiquetas
Cache::tag(['tag1','tag2'])->set('val2','value',600);
// Eliminar datos de caché bajo múltiples etiquetas
Cache::tag(['tag1','tag2'])->clear();

// Usar varios tipos de caché
$redis = Cache::store('redis');

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