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.
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 /
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