"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > O novo Cache::flexible() do Laravel

O novo Cache::flexible() do Laravel

Publicado em 2024-11-08
Navegar:404

The new Cache::flexible() of Laravel

Esperar que um grande conjunto de dados seja computado toda vez que você atinge uma rota é uma droga! E os usuários não querem esperar, todo mundo tem retenção curta hoje em dia, então corrigimos isso anos atrás usando o Cache. Laravel tem um Cache Fascad para nos ajudar a armazenar dados em cache, e temos usado o Cache::remember() que é um ótimo método para armazenar alguns dados em cache por um período de tempo até que expirem.

Mas em um evento recente, o Laravel anunciou o novo recurso do Cache Fascad chamado "flexível". Ele usa a nova função defer() do laravel em segundo plano.

Como funciona Cache::flexible()

Cache::flexible() é muito semelhante ao Cache::remember() com o qual já estamos familiarizados e tem poucas mudanças nos códigos, mas um enorme impacto no desempenho. Você fornece dois valores para o tempo em vez de 1, diferentemente de Cache::remember().
Se você estiver passando 5 e 10 como o período de tempo para Cache::flexible() então, quando um usuário atingir ou visitar a rota pela primeira vez, o usuário deverá aguardar que os valores sejam armazenados em cache e continuar acessando a rota dentro de 5 segundos então ele apenas retorna os valores armazenados em cache iguais a Cache::remember(). Mas aqui está a parte interessante: se um usuário atingir a rota dentro de um período de 5 a 10 segundos (conforme fornecido), o Laravel ainda fornecerá os valores armazenados em cache para a primeira visita dentro desse período e iniciará um trabalhador em segundo plano para armazenar os valores em cache novamente. E quando o usuário visita a rota novamente, ele obtém dados atualizados, mas desta vez sem esperar que os dados sejam armazenados em cache ou computados, ao contrário de Cache::remember().

Isso pode ser difícil de entender para alguns de vocês, recomendo ler este artigo que escrevi sobre isso com mais detalhes e com exemplos da vida real: https://laraveleco.com/cache-flexible-method-of-laravel /

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/kachkolasa/the-new-cacheflexible-of-laravel-265k?1 Se houver alguma infração, entre em contato com [email protected] para excluí-lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3