• Время чтения ~1 мин
  • 25.03.2024

Пакет 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.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297