>  기사  >  PHP 프레임워크  >  PHP laravel 캐시 메커니즘에 대한 자세한 설명

PHP laravel 캐시 메커니즘에 대한 자세한 설명

WBOY
WBOY앞으로
2022-11-01 15:24:511461검색

이 기사에서는 laravel에 대한 관련 지식을 제공합니다. 이는 Redis, memcache라는 세 가지 캐싱 메커니즘을 제공하는 Laravel의 캐시와 프레임워크의 파일 캐시 관련 콘텐츠를 다음과 같이 주로 소개합니다. , 모두에게 도움이 되기를 바랍니다.

【관련 추천: laravel 비디오 튜토리얼

Laravel의 캐시는 세 가지 캐싱 메커니즘을 제공합니다.

Redis, memcache 및 프레임워크 파일 캐시.

여기서 가장 중요하게 살펴봐야 할 것은 캐시에 있는 파일 캐시입니다.

1. 여러 캐시 저장소에 액세스

Cache 파사드를 사용하면 store 메서드를 사용하여 다양한 캐시 저장소에 액세스할 수 있습니다. store 메서드에 전달된 키는 stores 구성 배열입니다. 캐시 구성 파일에 나열된 해당 메모리:

$value = Cache::store('file')->get('foo');
Cache::store('redis')->put('bar', 'baz', 600);  // 10分钟

2. 캐시에서 데이터 가져오기

1. 데이터 가져오기 및 기본값 설정

(1): 일반 값

$value = Cache::get('key');

(2 ): 존재하지 않는 경우 기본값

$value = Cache::get('key', 'default');

(3): 클로저 작업 사용, 기본값

$value = Cache::get('key', function() {
    return DB::table(...)->get();
});

2 캐시 항목이 있는지 확인

has 메서드를 사용하여 캐시 여부를 확인합니다. 값이 null이거나 false인 경우 항목이 존재합니다. 이 메서드는 false를 반환합니다:

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

3. 값 증가/감소

증가 및 감소 방법을 사용하여 캐시의 정수 값을 조정할 수 있습니다. 두 메소드 모두 캐시 항목 값의 증가 및 감소 수를 지정하는 두 번째 매개변수를 수신할 수 있습니다:

Cache::increment('key');
Cache::increment('key', $amount);
Cache::decrement('key');
Cache::decrement('key', $amount);

4. Get & Store

때때로 캐시 항목을 가져오고 싶지만 요청한 캐시 항목이 존재하지 않는 경우가 있습니다. 기본값으로 저장합니다. 예를 들어 캐시에서 모든 사용자를 가져오거나, 존재하지 않는 경우 데이터베이스에서 가져와 캐시에 추가하고 싶을 수 있습니다. Cache::remember 메서드를 사용하면 됩니다.

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

캐시 항목이 존재하지 않는 경우, Remember 메소드에 전달된 클로저가 실행되고 결과가 캐시에 저장됩니다.

rememberForever 메소드를 사용하여 캐시에서 데이터를 가져오거나 영구적으로 저장할 수도 있습니다.

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

5. 가져오기 및 삭제

캐시에서 캐시 항목을 가져온 다음 삭제해야 하는 경우 다음을 사용할 수 있습니다. pull 메소드와 get 메소드는 동일합니다. 캐시 항목이 없으면 null을 반환합니다.

$value = Cache::pull('key');

3. 캐시에 데이터 저장

1. 저장된 데이터 가져오기

put 메소드를 사용할 수 있습니다. 캐시에 데이터를 저장하는 캐시 파사드. 캐시에 데이터를 저장할 때 데이터가 캐시되는 시간(초)을 지정해야 합니다:

Cache::put('key', 'value', $seconds);

캐시 ​​시간이 put 메소드에 전달되지 않으면 캐시 항목은 영구적으로 유효합니다:

Cache::put('key', 'value');

In 캐시 항목 만료 시간을 전달하는 것 외에도 캐시 항목의 유효 시간을 나타내는 PHP Datetime 인스턴스를 전달할 수도 있습니다.

$expiresAt = Carbon::now()->addMinutes(10);
Cache::put('key', 'value', $expiresAt);

2. 캐시가 존재하지 않을 때 데이터를 저장합니다.

add 메소드는 캐시 항목에만 데이터를 추가합니다. 캐시 항목이 없으면 캐시에 데이터가 성공적으로 추가되면 캐시에 true를 반환하고, 그렇지 않으면 false를 반환합니다.

Cache::add('key', 'value', $seconds);

3. 데이터를 영구적으로 저장

forever 메서드는 캐시에 데이터를 지속적으로 저장하는 데 사용됩니다. 값은 잊어버리기 메소드를 통해 캐시에서 수동으로 제거해야 합니다:

Cache::forever('key', 'value');

4. From 캐시에서 데이터를 제거하려면

캐시에서 캐시 항목 데이터를 제거하기 위해 Cache 파사드에서 잊어버리기 메소드를 사용할 수 있습니다:

Cache::forget('key');

캐시 유효 기간을 0 또는 음수로 설정하여 캐시 항목을 제거할 수도 있습니다:

Cache::put('key', 'value', 0);
 
Cache::put('key', 'value', -5);

모든 캐싱을 지우려면 flush 방법을 통해 수행할 수 있습니다:

Cache::flush();

위는 기본적으로 laravel을 수행하는 방법입니다. 프레임워크는 파일 캐싱에서 작동합니다

[관련 권장 사항: laravel 비디오 튜토리얼]

위 내용은 PHP laravel 캐시 메커니즘에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제