Skip to content

Latest commit

 

History

History
87 lines (53 loc) · 2.76 KB

cache.md

File metadata and controls

87 lines (53 loc) · 2.76 KB

Cache

Configuração

Laravel oferece uma API unificada para vários sistemas de cache diferentes. A configuração de cache está localizada em app/config/cache.php. Nesse arquivo você pode escificar qual driver você quer usar por padrão na sua aplicação. Laravel também suporta os populares sistemas de cache como o Memcached e Redis.

O arquivo de configuração do cache também contém várias outras opções, que são documentadas no próprio arquivo, por isso certifique-se de ler sobre essas opções. Por padrão, o Laravel está configurado para usar o driver file de cache, que armazena os objetos serializados em cache no sistema de arquivos. Para aplicações maiores, recomenda-se o uso de um cache em memória, tais como Memcached ou APC.

Modo de usar

Guardando um item em cache

Cache::put('key', 'value', $minutes);

Guardando um item em cache caso ele não exista

Cache::add('key', 'value', $minutes);

Buscando um item da Cache

$value = Cache::get('key');

Buscando um item da cache, ou retornando um valor padrão caso ele não exista

$value = Cache::get('key', 'default');

$value = Cache::get('key', function() { return 'default'; });

Guardando um item em cache permanentemente

Cache::forever('key', 'value');

Pode ser que você queira buscar um item da cache, mas também, salvar um valor padrão caso o item procurado não exista. Você pode fazer isso usando o método Cache::remember:

$value = Cache::remember('users', $minutes, function()
{
	return DB::table('users')->get();
});

Você também pode combinar os métodos remember e forever:

$value = Cache::rememberForever('users', function()
{
	return DB::table('users')->get();
});

Note que todos os itens guardados em cache são serializados, isso significa que você pode guardar todo o tipo de dado.

Removendo um item da Cache

Cache::forget('key');

Todos os drivers com excessão de file e database suportam as operações increment e decrement:

Incrementando um valor

Cache::increment('key');

Cache::increment('key', $amount);

Decrementando um valor

Cache::decrement('key');

Cache::decrement('key', $amount);

Database Cache

Quando estiver usando driver database, você precisará configurar uma tabela que receberá os itens. Abaixo um exemplo de um Schema para a tabela:

Schema::create('cache', function($t)
{
	$t->string('key')->unique();
	$t->text('value');
	$t->integer('expiration');
});