laravel의 redis 사용법

王林
풀어 주다: 2023-05-21 09:01:07
원래의
2422명이 탐색했습니다.

Laravel은 인기 있는 PHP 개발 프레임워크로 "2020 Laravel 개발자 설문조사"에서 가장 인기 있는 PHP 프레임워크로 선정되었습니다. 그중에서도 개발자가 효율적인 캐싱 및 큐 처리를 달성하는 데 도움이 되는 Laravel의 Redis 기능이 널리 사용됩니다.

Redis는 키-값 쌍과 유사한 NoSQL 데이터베이스인 오픈 소스 인메모리 데이터 저장 시스템입니다. Redis의 특징은 문자열, 목록, 해시, 집합, 순서 집합 등 다양한 데이터 구조를 지원할 수 있다는 것입니다. 또한 고성능, 고가용성, 확장성 및 사용 편의성이라는 장점도 가지고 있으므로 개발에 매우 ​​인기가 있으며 널리 사용되었습니다. 다음으로 Laravel에서의 Redis 사용법을 자세히 소개하겠습니다.

Redis 구성

Laravel에서 Redis를 사용하려면 먼저 구성해야 합니다. .env 파일을 열고 다음 구성 항목을 찾습니다.

CACHE_DRIVER=file
SESSION_DRIVER=file
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
로그인 후 복사

그 중 CACHE_DRIVER는 캐시 드라이버를 나타냅니다. 여기서는 Redis로 변경해야 합니다. 즉,

CACHE_DRIVER=redis
로그인 후 복사

SESSION_DRIVER입니다. 진실. REDIS_HOST는 Redis 서비스의 주소를 나타내며, 기본값은 로컬 시스템의 127.0.0.1입니다. REDIS_PASSWORD는 사용할 수 없는 경우 null로 설정해야 합니다. REDIS_PORT는 Redis 서비스가 수신 대기하는 포트를 나타내며 기본값은 6379입니다.

사용 테스트를 위해 여기서 사용하는 Redis는 비밀번호 설정 없이 로컬 컴퓨터에 설치됩니다. 원격 Redis를 사용하는 경우 REDIS_HOST 및 REDIS_PORT를 수정하고 REDIS_PASSWORD도 설정해야 합니다.

Redis를 사용한 캐싱

Laravel에서 Redis를 사용한 캐싱은 매우 쉽습니다. Cache 클래스를 사용하여 캐시에 액세스한 다음 해당 드라이버를 Redis로 설정하면 Redis를 캐싱에 사용할 수 있습니다.

값 캐싱

Redis를 사용하여 값을 캐싱하는 방법에는 여러 가지가 있습니다. 여기서는 먼저 값 캐싱을 소개합니다.

use IlluminateSupportFacadesCache;

Cache::store('redis')->put('key', 'value', $seconds);
로그인 후 복사

위 코드는 Cache::store('redis')를 통해 Redis 캐시에 액세스한 다음 put 메서드를 사용하여 키-값 쌍을 캐시합니다. 그 중 $seconds는 캐시 유효 기간을 초 단위로 나타냅니다. $seconds 값이 null이면 캐시가 만료되지 않습니다.

Get a value

값을 캐싱하는 기능은 미래의 값을 직접 얻을 수 있다는 것입니다. Laravel의 Cache 클래스를 사용하여 이 값을 얻을 수 있습니다:

use IlluminateSupportFacadesCache;

$value = Cache::store('redis')->get('key');
로그인 후 복사

위 코드는 Cache::store('redis')를 통해 Redis 캐시에 액세스하고 get 메소드는 키에 해당하는 값을 얻습니다.

값 삭제

캐시를 삭제해야 하는 경우 다음 코드를 사용할 수 있습니다.

use IlluminateSupportFacadesCache;

Cache::store('redis')->forget('key');
로그인 후 복사

위 코드는 Cache::store('redis')를 통해 Redis 캐시에 액세스하고, 잊어버리기 메소드는 해당 캐시를 삭제합니다. 은닉처.

캐시가 존재하는지 확인하려면

캐시가 존재하는지 확인하려면 다음 코드를 사용할 수 있습니다.

use IlluminateSupportFacadesCache;

if (Cache::store('redis')->has('key')) {
    //
}
로그인 후 복사

위 코드는 Cache::store('redis')를 통해 Redis 캐시에 액세스하고 has 메소드가 확인합니다. 키에 해당하는 값이 존재하는지 여부.

큐 처리에 Redis 사용

Laravel에서 큐 처리에 Redis를 사용하려면 먼저 큐 서비스 공급자를 소개해야 합니다. config/app.php 파일을 열고 공급자 배열을 찾은 후 다음 코드를 추가합니다.

'providers' => [
    // ...
    IlluminateQueueQueueServiceProvider::class,
    IlluminateRedisRedisServiceProvider::class,
    // ...
],
로그인 후 복사

다음으로 대기열 연결을 구성해야 합니다. config/queue.php 파일을 열고 다음 구성 항목을 수정합니다.

'connections' => [
    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => 'default',
        'retry_after' => 90,
        'block_for' => null,
    ],
],
로그인 후 복사

그중에서 드라이버는 Redis 드라이버 연결을 사용한다는 의미이고, queue는 사용된 대기열 이름을 의미합니다. 발생, 초 단위, block_for는 작업 획득 시 차단 시간(초)을 나타냅니다.

작업을 대기열에 푸시

다음으로 다음 코드를 사용하여 작업을 대기열에 푸시할 수 있습니다.

use IlluminateSupportFacadesQueue;

Queue::push(new SendEmailJob($user));
로그인 후 복사

위 코드는 Queue::push 메서드를 사용하여 SendEmailJob을 기본 대기열에 푸시합니다. 그 중 SendEmailJob은 좀 더 복잡한 로직을 구현할 수 있는 커스텀 작업 클래스입니다.

큐 작업 실행

작업을 대기열에 푸시한 후 다음 명령을 사용하여 작업을 실행해야 합니다.

php artisan queue:work
로그인 후 복사

위 명령은 대기열 작업을 실행하는 프로세스를 시작합니다. 서버에 CPU 코어가 여러 개 있는 경우 --daemon 옵션을 추가하여 여러 프로세스를 시작하면 작업 처리 속도를 높일 수 있습니다.

요약

Laravel의 Redis 기능은 매우 강력하며 Redis와의 협력을 통해 뛰어난 캐싱 및 큐 처리를 구현할 수 있습니다. 동시성이 높고 복잡한 비즈니스를 처리할 때 Redis 캐시와 큐를 사용하면 시스템 성능과 안정성을 크게 향상시킬 수 있습니다. 이 글은 Laravel에서 Redis의 사용법을 간략하게 소개하고 여러분의 개발 작업에 도움이 되기를 바랍니다.

위 내용은 laravel의 redis 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!