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이면 캐시가 만료되지 않습니다.
값을 캐싱하는 기능은 미래의 값을 직접 얻을 수 있다는 것입니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!