Quay lại

Sử dụng simple caching cho Laravel queries Chuyên mục PHP và Laravel    2023-08-07    348 Lượt xem    34 Lượt thích    comment-3 Created with Sketch Beta. 1 Bình luận

Sử dụng simple caching cho Laravel queries

Bạn biết rằng luôn luôn là một ý kiến ​​hay khi có thứ gì đó tùy ý sử dụng để bạn có thể cải thiện hiệu suất của các ứng dụng của mình. Khi nói đến các ứng dụng web, một trong nhiều thứ cung cấp power cho chúng là database queries và đó là lý do tại sao không có gì ngạc nhiên khi bạn muốn tối ưu hóa chúng và làm cho ứng dụng của mình nhanh hơn một chút!

Một trong những cách sử dụng mà bạn có thể cải thiện “dramatically (đáng kể)” hiệu suất của các truy vấn cơ sở dữ liệu của mình là lưu chúng vào bộ đệm ẩn ở đâu đó trong một thời gian. Nếu ứng dụng của bạn được cung cấp bởi Laravel, bạn có thể làm điều này khá dễ dàng.

Thiết lập cache driver

Đối với điều này, tất cả những gì chúng ta cần sử dụng là một trong những cache drivers mà Laravel hỗ trợ. Để đơn giản, chúng ta có thể sử dụng database cache driver..

Để điều này hoạt động, chúng ta sẽ cần tạo một bảng cache. Bạn có thể dễ dàng tạo bảng này trong Laravel bằng lệnh Artisan sau.

php artisan cache:table

Thao tác này sẽ tạo một bảng có các cột sau: keyvalue & expiration

Laravel sẽ sử dụng bảng này để tạo một “cache” ở dạng key:value có thể lưu trữ kết quả cơ sở dữ liệu.

Sử dụng cache để store query results

Bây giờ, chúng ta có thể bắt đầu sử dụng cache này bằng cách sử facade Illuminate\Support\Facades\Cache ở bất kỳ đâu bạn muốn. Chẳng hạn, nếu chúng ta muốn lưu trữ kết quả của truy vấn sau vào cache trong 10 phút tiếp theo…

$books = Book::orderBy('title')->get();

…chúng ta có thể làm điều đó bằng cách sử dụng phương thức Cache::remember như vậy.

$expire = Carbon::now()->addMinutes(10);

$books = Cache::remember('books', $expire, function() {
    return Book::orderBy('title')->get();
});

Nó đơn giản như nó được! Bây giờ, trong 10 phút tiếp theo, Laravel sẽ lấy kết quả từ khóa books của cache thay vì truy vấn cơ sở dữ liệu. Và điều này đặc biệt có thể cải thiện hiệu suất ứng dụng của bạn khi bạn đang thực hiện các truy vấn phức tạp để tìm nạp kết quả.

Cũng có một phương thức memoryForever có thể truy xuất một mục từ cache hoặc lưu trữ nó mãi mãi nhưng có lẽ bạn không nên sử dụng nó trừ khi ứng dụng bạn đang xây dựng không được cập nhật kịp thời.

bộ nhớForever


Did you mean memory Forever

Bình luận (1)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Michael Gough   Huy

Hay qá sốp ơi. Đã áp dụng được vào dự án ạ ^^

Bài viết liên quan

Learning English Everyday