Nhảy tới nội dung
Phiên bản: 7.3.0

Cache

Một số tác vụ truy xuất hoặc xử lý dữ liệu do ứng dụng của bạn thực hiện có thể tốn nhiều CPU hoặc mất vài giây để hoàn thành. Trong trường hợp này, người ta thường lưu trữ dữ liệu đã truy xuất trong một thời gian để có thể truy xuất nhanh chóng theo các yêu cầu tiếp theo cho cùng một dữ liệu. Dữ liệu được lưu trong bộ nhớ cache thường được lưu trữ trong một kho dữ liệu rất nhanh như Memcached hoặc Redis. CMS cung cấp một API thống nhất, biểu cảm cho các phụ trợ bộ nhớ cache khác nhau, cho phép bạn tận dụng khả năng truy xuất dữ liệu cực nhanh của chúng và tăng tốc ứng dụng web của bạn.

Cache::get

Method SkillDo\Cache::get được sử dụng để lấy các items từ bộ nhớ cache. Nếu item không tồn tại trong bộ nhớ cache, sẽ được trả lại là null. Nếu bạn muốn, bạn có thể sử dụng đối số thứ hai để method chỉ định giá trị Default bạn muốn được trả lại nếu cache không tồn tại

Tham số bao gồm:

SkillDo\Cache::get(string $key, mixed $default)
ParamsTypeDescriptionDefault
$keystringTên của cache phải là duy nhấtbắt buộc
$defaultmixedGiá trị thay thế khi không có cache

Example

$value = SkillDo\Cache::get('key', function () {
return SkillDo\Model\Post::gets();
});

Cache::has

Method SkillDo\Cache::has này được sử dụng để xác định nếu một cache tồn tại trong bộ nhớ đệm. Method này sẽ trả lại nếu giá trị là true ngược lại là false

Tham số bao gồm:

SkillDo\Cache::has(string $key): boolean
ParamsTypeDescriptionDefault
$keystringTên của cache cần kiểm trabắt buộc

Example

if (SkillDo\Cache::has('key')) {
//
}

Cache::save

Method SkillDo\Cache::save lưu trữ items trong bộ nhớ cache. Khi bạn thực hiện items trong bộ nhớ cache, bạn sẽ cần phải xác định số phút mà giá trị sẽ được lưu trữ

Tham số bao gồm:

SkillDo\Cache::save(string $key, mixed $value, int $time): boolean
ParamsTypeDescriptionDefault
$keystringTên của cache phải là duy nhấtbắt buộc
$valuemixedGiá trị của cache sẽ lưubắt buộc
$timeintThời gian cache được lưu trữ (millisecond)30 ngày

Cache::remember

Đôi khi bạn có thể muốn lấy data từ cache nhưng data không tồn tại thì bạn muốn lưu lại giá trị vào cache. Ví dụ: bạn có thể muốn truy xuất tất cả người dùng từ bộ đệm hoặc nếu họ không tồn tại, hãy truy xuất họ từ cơ sở dữ liệu và thêm họ vào bộ đệm. Bạn có thể thực hiện việc này bằng phương thức Cache::remember:

$value = Cache::remember('users', $seconds, function () {
return DB::table('users')->get();
});

Cache::delete

Method SkillDo\Cache::delete xóa một hoặc nhiều item khỏi bộ nhớ đệm bằng cách sử dụng phương pháp delete.

Tham số bao gồm:

SkillDo\Cache::delete(string $key, boolean $prefix)
ParamsTypeDescriptionDefault
$keystringTên của cache phải là duy nhấtbắt buộc
$prefixbooleanNếu true sẽ xóa tất cả cache có tên bắt đầu bằng $keyfalse

Example

SkillDo\Cache::delete('cache_key'); // Xóa cache có key là "cache_key"
SkillDo\Cache::delete('cache_', true); // Xóa tất cả cache có key bắt đầu bằng "cache_"

Cache::flush

Method SkillDo\Cache::flush Xóa toàn bộ cache