think-cache

think-cache è un componente estratto dal framework thinkphp, dotato di funzionalità di pooling delle connessioni e supporto automatico per ambienti sia coroutine che non coroutine.

Nota
Questo manuale è per la versione webman v2; se si utilizza la versione webman v1, si prega di fare riferimento al manuale della versione v1

Installazione

composer require -W webman/think-cache

Dopo l'installazione, è necessario riavviare (il reload non è efficace).

File di configurazione

Il file di configurazione è config/think-cache.php

Utilizzo

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

Interfacce fornite

// Imposta la cache
Cache::set('val','value',600);
// Verifica se la cache è impostata
Cache::has('val');
// Ottieni la cache
Cache::get('val');
// Elimina la cache
Cache::delete('val');
// Pulisci la cache
Cache::clear();
// Leggi ed elimina la cache
Cache::pull('val');
// Se non esiste, scrivi
Cache::remember('val',10);

// Per i dati di cache di tipo numerico si può usare
// Incrementa la cache di +1
Cache::inc('val');
// Incrementa la cache di +5
Cache::inc('val',5);
// Decrementa la cache di -1
Cache::dec('val');
// Decrementa la cache di -5
Cache::dec('val',5);

// Usa i tag della cache
Cache::tag('tag_name')->set('val','value',600);
// Elimina i dati della cache sotto un certo tag
Cache::tag('tag_name')->clear();
// Supporta la specifica di più tag
Cache::tag(['tag1','tag2'])->set('val2','value',600);
// Elimina i dati della cache sotto più tag
Cache::tag(['tag1','tag2'])->clear();

// Utilizza diversi tipi di cache
$redis = Cache::store('redis');

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