Mẹo Cache Laravel để Tăng Hiệu Năng
·
3 min read
Mẹo Cache Laravel để Tăng Hiệu Năng
Cache là một trong những cách hiệu quả nhất để cải thiện hiệu năng ứng dụng Laravel của bạn. Hãy cùng khám phá một số chiến lược thực tế.
Tại Sao Cần Cache?
Mỗi lần ứng dụng của bạn:
- Truy vấn database
- Parse file markdown
- Gửi request API
- Thực hiện các phép tính phức tạp
...đều tốn thời gian. Cache lưu trữ kết quả để các request tiếp theo gần như tức thì.
Cache Cơ Bản
Cache của Laravel rất dễ sử dụng:
use Illuminate\Support\Facades\Cache;
// Lưu trong 60 phút
Cache::put('key', 'value', now()->addMinutes(60));
// Lấy ra
$value = Cache::get('key');
// Mẫu remember (lấy hoặc tạo mới)
$posts = Cache::remember('posts', now()->addHours(24), function () {
return Post::all();
});
Xóa Cache
Phần khó nhất của cache là biết khi nào cần xóa:
// Xóa key cụ thể
Cache::forget('posts');
// Xóa theo tag (nếu dùng tagged cache)
Cache::tags(['posts'])->flush();
Chiến Lược Cache Của Blog Này
Blog này sử dụng cache dựa trên file với xóa cache thông minh:
- Parse Một Lần: Markdown chỉ được parse một lần và cache lại
- Dấu Thời Gian File: Cache tự động xóa khi file được sửa đổi
- Khởi Tạo Trước:
php artisan blog:cachetạo sẵn tất cả cache
// Kiểm tra cache còn hợp lệ không
$cached = Cache::get($cacheKey);
$currentModified = File::lastModified($filePath);
if ($cached['file_modified'] === $currentModified) {
return $cached; // Sử dụng cache
}
// File đã thay đổi, tạo lại cache
Mẹo Tăng Hiệu Năng
- Sử dụng
Cache::remember()thay vì get/put thủ công - Đặt TTL phù hợp - cân bằng giữa độ mới và hiệu năng
- Cache đúng cấp độ - đừng cache quá mức
- Theo dõi tỷ lệ cache hit - đảm bảo cache hoạt động hiệu quả
Tổng Kết
Cache là điều thiết yếu cho bất kỳ ứng dụng Laravel nào trên production. Hãy bắt đầu với những điều cơ bản và tối ưu khi cần. Nhớ rằng: tối ưu hóa quá sớm là nguồn gốc của mọi điều xấu, nhưng cache có chiến lược luôn là một thắng lợi!