경로에 도달할 때마다 대규모 데이터 세트가 계산되기를 기다리는 것은 정말 짜증나는 일입니다! 그리고 사용자는 기다리기를 원하지 않습니다. 요즘은 모두 보존 기간이 짧기 때문에 몇 년 전에 캐시를 사용하여 이 문제를 해결했습니다. Laravel에는 데이터 캐싱에 도움이 되는 Cache Fascad가 있으며, 우리는 일부 데이터가 만료될 때까지 일정 기간 동안 데이터를 캐시하는 훌륭한 방법인 Cache::remember()를 사용해 왔습니다.
그러나 최근 이벤트에서 Laravel은 "flexible"이라는 Cache Fascad의 새로운 기능을 발표했습니다. 백그라운드에서 laravel의 새로운 defer() 함수를 사용합니다.
Cache::flexible()은 우리에게 이미 친숙한 Cache::remember()와 매우 유사하며 코드 변경이 거의 없지만 성능에 큰 영향을 미칩니다. Cache::remember()와 달리 시간에 대해 1개 대신 2개의 값을 제공합니다.
Cache::flexible()의 시간 프레임으로 5와 10을 전달하는 경우 사용자가 처음 경로에 도달하거나 방문할 때 사용자는 값이 캐시될 때까지 기다려야 하고 5초 이내에 계속 경로에 도달할 때까지 기다려야 합니다. 그런 다음 Cache::remember()와 동일한 캐시된 값을 반환합니다. 그러나 흥미로운 부분은 사용자가 (우리가 제공한 대로) 5~10초 내에 경로에 도달하면 Laravel은 여전히 해당 시간 내에 첫 번째 방문에 대해 캐시된 값을 제공하고 백그라운드 작업자를 시작하여 값을 다시 캐시한다는 것입니다. 그리고 사용자가 경로를 다시 방문하면 데이터 새로 고침을 받지만 이번에는 Cache::remember()와 달리 데이터가 캐시되거나 계산될 때까지 기다리지 않습니다.
이것은 여러분 중 일부에게는 이해하기 까다로울 수 있습니다. 이에 대해 제가 쓴 이 기사를 실제 사례와 함께 자세히 읽어 보시기 바랍니다: https://laraveleco.com/cache-flexible-method-of-laravel /
위 내용은 Laravel의 새로운 Cache::flexible()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!