laravel mysql 테이블 최적화에 대한 자세한 설명

藏色散人
풀어 주다: 2021-02-18 08:58:28
앞으로
2840명이 탐색했습니다.

다음 튜토리얼 칼럼인 Laravel에서 laravel mysql 테이블 최적화에 대해 자세히 설명하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

laravel mysql 테이블 최적화에 대한 자세한 설명

1. 구성 정보 캐싱

다음 Artisan 내장 명령을 사용하여 config 폴더의 모든 구성 정보를 하나의 파일로 병합하여 런타임에 로드되는 파일 수를 줄입니다.

php artisan config:cache
로그인 후 복사

위 명령은 bootstrap/cache/config.php 파일을 생성하려면 다음 명령을 사용하여 구성 정보 캐시를 취소할 수 있습니다:

php artisan config:clear
로그인 후 복사

이 명령이 하는 일은 bootstrap/cache/config.php 파일을 삭제하는 것입니다.

참고: 구성 정보 캐시는 업데이트 시 자동으로 다시 로드되지 않습니다. 따라서 개발 중에는 구성 정보 캐시를 끄는 것이 일반적으로 프로덕션 환경에서 사용되며 Envoy 작업 실행기와 함께 사용할 수 있습니다.

2. 경로 캐시

경로 캐시는 라우터의 등록 효율성을 효과적으로 향상시킬 수 있으며, 그 효과는 대규모 응용 프로그램에서 더 분명하게 나타납니다.

php artisan route:cache
로그인 후 복사

위 명령은 bootstrap/cache/를 생성합니다. Routes.php 파일, 라우트 캐시는 라우팅 익명 함수 작성 로직을 지원하지 않습니다.

다음 명령을 사용하여 라우팅 캐시를 지울 수 있습니다:

php artisan route:clear
로그인 후 복사

이 명령은 bootstrap/cache/routes.php 파일을 삭제합니다.

참고: 경로 캐시는 업데이트 시 자동으로 다시 로드되지 않습니다. 따라서 개발 중에는 경로 캐시를 끄는 것이 일반적으로 프로덕션 환경에서 사용되며 Envoy 작업 실행기와 함께 사용할 수 있습니다.

3. 클래스 매핑 로드 최적화

optimize 명령은 일반적으로 로드되는 클래스를 하나의 파일로 병합하여 파일 로드를 줄여 작업 효율성을 향상시킵니다.

php artisanoptim --force

는 bootstrap/cache/를 생성합니다. 컴파일된 파일이 두 개 있습니다. php 및 bootstrap/cache/services.json.

config/compile.php 파일을 수정하여 병합할 클래스를 추가할 수 있습니다.

프로덕션 환경에서는 --force 매개변수를 지정할 필요가 없으며 파일이 자동으로 생성됩니다.

클래스 맵 로딩 최적화를 지우려면 다음 명령을 실행하세요:

php artisanclear-compiled

이 명령은 위의 최적화로 생성된 두 파일을 삭제합니다.

참고: 이 명령은 php artisan config:cache 후에 실행해야 합니다. 왜냐하면optim 명령은 구성 정보(예: config/app.php 파일의 공급자 배열)를 기반으로 파일을 생성하기 때문입니다.

4. 자동 로딩 최적화

이 명령은 Laravel 프로그램뿐만 아니라 Composer를 사용하여 빌드된 모든 프로그램에 적용됩니다. 이 명령은 PSR-0과 PSR-4를 클래스 매핑 테이블로 변환하여 클래스 로딩 속도를 향상시킵니다.

composer dumpautoload -o

참고: 이 작업은 php artisan Optimize --force 명령에서 이미 수행되었습니다.

5. Memcached를 사용하여 세션 저장

모든 Laravel 요청은 세션을 생성합니다. 세션 저장 방법을 수정하면 효과적으로 프로그램 효율성을 높일 수 있습니다. 세션 구성 정보는 Memcached 또는으로 수정하는 것이 좋습니다. Redis 등 전문 캐싱 소프트웨어:

'driver' => 'memcached',

6. 전문 캐시 드라이버 사용

"캐시"는 애플리케이션의 실행 효율성을 향상시키는 마법의 무기 중 하나입니다. 드라이버가 파일 캐시인 경우 Redis 또는 Memcached와 같은 전문 캐싱 시스템으로 전환하는 것이 좋습니다. 데이터베이스 캐싱을 사용하지 않는 것이 좋습니다.

'default' => 'redis',

7. 데이터베이스 요청 최적화

데이터 연관 모델을 읽을 때 지연된 사전 로드 및 사전 로드를 사용하세요.

Laravel Debugbar 또는 Clockwork를 사용하여 각 페이지의 전체 데이터베이스 요청에 주의하세요. Quantity;

여기에서는 Laravel과 관련된 내용만 다룹니다. 데이터 최적화에 대한 다른 내용은 직접 확인하세요.

8. 데이터 세트에 대한 캐싱 로직 작성

Laravel에서 제공하는 캐시 레이어 작업을 적절하게 사용하여 데이터베이스에서 가져온 데이터 세트를 캐시하여 데이터베이스에 대한 부담을 줄일 수 있습니다. 데이터 읽기도 데이터베이스보다 훨씬 빠릅니다.

$posts = Cache::remember('index.posts', $minutes = 30, function()
{
return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();
});
로그인 후 복사

기억하세요 데이터 연관 모델도 캐시되어 있으니 얼마나 편리할까요.

9. JIT(Just-In-Time) 컴파일러

HHVM 및 OpCache를 사용하면 아무런 수정 없이 애플리케이션 성능을 50% 이상 쉽게 향상할 수 있습니다. 자세한 내용은 OpCache를 사용하여 개선하는 방법을 참조하세요. PHP 5.5+ 프로그램 성능.

10. 프런트엔드 리소스 병합

최적화 기준으로 페이지는 CSS 파일 1개, JS 파일 1개만 로드해야 하며 해당 파일은 CDN을 통해 쉽게 액세스할 수 있어야 하며 파일 이름은 수정하여 변경해야 합니다. .

위 내용은 laravel mysql 테이블 최적화에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿