AlvandCMS ابزارهای متعددی برای بهینهسازی سرعت و عملکرد ارائه میدهد.
سیستم کش
پلاگین رسمی cache در plugins/cache/ یک سیستم کش پیشرفته:
ویژگیها
- کش HTML: فشردهسازی و کش صفحات کامل
- کش Fragment: کش بخشهای خاصی از صفحات
- Invalidation تگی: ابطال هوشمند کش بر اساس برچسب
- نسخهبندی: بهروزرسانی خودکار کش پس از تغییر محتوا
- پیشگرمایش:预热 کش برای مسیرهای مشخص
درایورهای ذخیرهسازی
| درایور | توضیح |
|---|---|
redis | اتصال به Redis با قابلیت persistent |
file | ذخیره در فایل (پیشفرض) |
تنظیمات کش
php
[
'enabled' => true,
'bypass_logged_in' => true,
'pages' => [
'enabled' => true,
'ttl' => 600,
'compress_html' => true,
'exclude_paths' => ['/admin', '/cart', '/checkout', '/my-account']
],
'store' => [
'driver' => 'redis',
],
'prewarm' => [
'enabled' => true,
'batch' => 10,
'routes' => ['/', '/shop', '/blog']
]
]
کلاسهای سیستم کش
| کلاس | توضیح |
|---|---|
CacheManager | مدیریت اصلی کش |
CacheRegistry | ثبات کش |
CacheJobQueue | صف وظایف کش |
CacheKeyBuilder | ساخت کلید کش |
FileStore | ذخیرهسازی فایل |
RedisStore | ذخیرهسازی Redis |
کش APCu
هسته از APCu برای کش ستونهای جدول و جستجوهای تکراری استفاده میکند.
بهینهسازی قالب
تنظیمات قالب شامل:
perf_lazyload- بارگذاری تنبل تصاویرperf_minify- فشردهسازی CSS/JS
مسیرهای مستثنی شده از کش
/admin/*
/cart
/checkout
/my-account
/account
/core/*
/login
/register