본 글의 예시에서는 Laravel Memcached 캐시 드라이버의 구성 및 적용 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
Memcached 캐시 구성은 모든 PHP 환경에서 구성하고 사용하여 웹 성능을 향상시킬 수 있습니다. 대용량 웹사이트(데이터가 많고 방문 횟수가 많은)의 경우 캐싱 시스템은 데이터베이스 부하 감소, 페이지 액세스 속도 향상 및 시스템 성능 향상에 큰 기여를 하는 필수 구성 요소입니다. 완벽한 기능을 갖춘 강력한 PHP 프레임워크인 Laravel은 자연스럽게 캐싱 시스템을 지원합니다. Laravle은 현재 파일, 배열, 데이터베이스, APC, Memcached 및 Redis를 포함한 캐시 드라이버를 지원하며 이러한 드라이버에 대한 통합 액세스 인터페이스를 제공합니다. 이것의 이점은 분명합니다. 비즈니스에 대해 걱정하십시오. 논리 코드를 변경하십시오.
Laravel 캐시 드라이버 구성은 config/cache.php에 있습니다. 구성 배열의 첫 번째 구성 항목인 default는 기본 캐시 드라이버를 지정하는 데 사용됩니다.
'default' => env('CACHE_DRIVER', 'file'),
기본 캐시 여기 드라이버는 파일 캐시입니다. 두 번째 구성 항목인 Store는 Laravel에서 지원하는 6개의 캐시 드라이버를 구성하는 데 사용됩니다.
'stores' => [ 'apc' => [ 'driver' => 'apc', ], 'array' => [ 'driver' => 'array', ], 'database' => [ 'driver' => 'database', 'table' => 'cache', 'connection' => null, ], 'file' => [ 'driver' => 'file', 'path' => storage_path('framework/cache'), ], 'memcached' => [ 'driver' => 'memcached', 'servers' => [ [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, ], ], ], 'redis' => [ 'driver' => 'redis', 'connection' => 'default', ], ],
여기서 apc는 APC 캐시를 나타내며 그 목표는 다음과 같습니다. PHP 중간 Opcode는 무료, 오픈 소스, 강력한 프레임워크를 제공합니다. 자세한 내용은 공식 PHP 문서(http://php.net/manual/zh/book.apc.php)를 참조하세요. Memcached와 마찬가지로 APC 캐시는 비슷한 성능을 가진 메모리 기반 캐싱 시스템이지만 제한 사항이 있습니다. 단일 머신 캐싱은 배포를 지원하지 않으며 실제 프로덕션 환경에는 웹 서버가 두 개 이상 없는 경우가 많기 때문에 상대적으로 대규모 웹 사이트에서는 Memcached를 더 많이 사용하는 것을 선택합니다.
어레이 캐시 드라이버(어레이)는 테스트용으로만 사용되는 경우가 많습니다. 장점은 지속성이 없으며 PHP 스크립트 실행 수명 주기 내에서만 유효하다는 것입니다.
파일 캐시 드라이버(파일)는 로컬 개발 및 테스트용으로만 사용되는 경우가 많습니다. 왜냐하면 파일 캐시는 파일에 캐시를 저장하고 읽을 때 하드 디스크에서 읽기 때문에 당연히 성능이 좋지 않기 때문입니다. APC 또는 Memcached와 같은 메모리 기반 캐싱 시스템입니다.
데이터베이스 캐시 드라이버(데이터베이스)는 캐시된 데이터를 데이터베이스에 저장하기 전에 캐시 항목을 저장할 데이터베이스에 새 테이블을 생성해야 합니다.
Schema::create('cache', function($table) { $table->string('key')->unique(); $table->text('value'); $table->integer('expiration'); });
캐싱은 원래 데이터베이스에서 데이터를 읽어 캐시 시스템에 저장합니다. 데이터베이스 캐싱은 시스템 성능을 어느 정도 향상시키지만 대규모 시스템에는 당연히 최선의 선택이 아닙니다.
Memcached 캐시 드라이버는 Memcached를 기반으로 합니다. 사용하기 전에 Memcached를 시스템에 설치해야 합니다. 물론 Homestead 가상 머신을 사용하는 경우 자동으로 설치되어 있습니다. booting. 다음 명령을 사용할 수 있습니다. 상태 및 시작 포트를 확인하세요.
ps -ef | grep memcached
앞서 언급했듯이 Memcached는 실제 프로덕션 환경에서 널리 사용되는 메모리 기반 분산 캐시 시스템입니다.
Redis는 Memcached의 키-값 쌍과 비교하여 최근 몇 년 동안 등장한 캐싱 시스템으로, 문자열, 해시, 목록, 집합 및 순서 집합 등을 포함하여 더 많은 데이터 구조를 지원합니다. 데이터 구조 서버라고도 알려진 Redis는 메모리 기반이지만 하드 디스크에 지속될 수 있습니다. 캐싱 시스템 외에도 NoSQL 데이터베이스, 메시지 큐 등으로도 사용할 수 있습니다. 대체로 매우 강력합니다. Redis에 대해서는 나중에 별도로 이야기할 것이므로 캐싱 인스턴스에 대해서는 캐시 드라이버로 Memcached를 예로 들어 Laravel에서 캐싱을 사용하는 방법에 대해 체계적으로 이야기하겠습니다.
구성 파일부터 memcached 구성 항목의 드라이버는 memcached로 사용되는 캐시 드라이버 유형을 지정합니다. 서버는 Memcached가 설치된 서버를 나타내고, 호스트는 호스트 이름을 나타내고, 포트는 Memcached가 수신 대기하는 포트 번호를 나타내며, 기본값은 11211이고, 가중치는 가중치를 나타냅니다. 왜냐하면 우리는 여러 Memcached 서버를 구성하는 경우가 많기 때문입니다. 접근 우선순위.
테스트로 여기서는 기본 구성을 사용하겠습니다.
시작하기 전에 기본 캐시 드라이버를 memcached로 변경해야 합니다.
'default' => env('CACHE_DRIVER', 'memcached'),
또한 config/cache.php 구성 파일에는 마지막 구성 항목 접두사가 있습니다. 캐시 키를 구성하는 데 사용됩니다. 메모리 기반 캐싱 시스템의 경우 캐시 항목은 동일한 호스트의 여러 애플리케이션에서 사용될 수 있으므로 구별을 표시하기 위해 접두사를 추가해야 합니다. 여기서는 laravelacademy를 접두어로 사용합니다:
'prefix' => 'laravelacademy',
이 글이 Laravel 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그래밍에 도움이 되기를 바랍니다.
Laravel Memcached 캐시 드라이버 구성 및 적용 방법 분석에 관한 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!