Пакет Cloudflare Cache для Laravel предоставляет кэшируемые маршруты, позволяя эффективно обслуживать миллионы запросов к статическим страницам. Вы можете определить группу кэшируемых маршрутов с помощью маршрутизатора Laravel, включая теги. Этот пакет позволяет легко запустить кэширование с помощью Cloudflare с помощью методаRoute::cache()
:
Route::cache(tags: ['tag1', 'tag2'], ttl: 600)->group(function () {
Route::get('/content_with_tags', function () {
return 'content';
});
});
Route::cache(tags: ['staticPages'])->group(function () {
//
});
Этот пакет предоставляет API для очистки всего контента, определенных URL-адресов, префиксов/URL-адресов с тегами (корпоративный) и многого другого. В качестве примера, предположим, что вы хотите кэшировать статьи (записи) с помощью Cloudflare и очищать кэш при каждом обновлении статьи:
<?php
namespace App\Http\Controllers;
use App\Http\Requests\UpdatePostRequest;
use App\Models\Post;
use Yediyuz\CloudflareCache\Facades\CloudflareCache;
class PostController extends Controller
{
public function update(Post $post, UpdatePostRequest $request)
{
$post->update($request->validated());
CloudflareCache::purgeByUrls([
route('post.show', $post->id)
]);
return back()->with('message', 'Post updated and url cache purged');
}
Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.