속도를 높이는 빠르고 쉬운 방법 - Laravel 웹사이트

이 멋진 기사에서 찾은 훌륭하고 빠르고 유용한 방법입니다.
https://ashallendesign.co.uk/blog/6-quick-and-easy-ways-to-speed-up-your-laravel-websiteto 프로젝트를 최대한 빨리 만들 수 있도록 도와줍니다. 6가지 팁 향후 프로젝트에서 도움이 되기를 바랍니다.
  • 데이터베이스 쿼리에 필요한 필드만 가져옵니다.

  • $users = User::all();
    
    foreach($users as $user) {
        // Do something here
    }
    
    // Now
    $users = User::select([id, first_name, last_name])->get();
    
    foreach($users as $user) {
        // Do something here
    }
    

  • 가능하면 즉시 로딩을 사용하십시오.

  • $comments = Comment::all();
    
    foreach ($comments as $comment ) {
        print_r($comment->author->name);
    }
    
    // Now
    $comments = Comment::with('authors')->get();
    
    foreach ($comments as $comment ) {
        print_r($comment->author->name);
    }
    

  • 불필요하거나 원하지 않는 패키지 제거

  • composer.json 파일을 열고 각 종속 항목을 살펴보세요. 각각의 종속성에 대해 스스로에게 "이 패키지가 정말 필요한가요?"라고 물어보세요. 귀하의 대답은 대부분 '예'일 것이지만 그들 중 일부는 그렇지 않을 수도 있습니다.
    "이 코드를 직접 작성하고 이 전체 패키지를 제거할 수 있습니까?"라고 자문해 보십시오. 물론 시간 제약으로 인해 코드를 작성하고 테스트한 다음 유지 관리해야 하므로 코드를 직접 작성하는 것이 항상 가능한 것은 아닙니다. 적어도 패키지에서는 오픈 소스 커뮤니티를 사용하여 이러한 작업을 수행하고 있습니다. 그러나 패키지가 간단하고 자신의 코드로 빠르게 교체할 수 있다면 제거하는 것이 좋습니다.
  • 캐시, 캐시, 캐시!

  • php artisan route:cache
    php artisan route:clear
    php artisan config:cache
    php artisan config:clear
    
    // Caching queries and values
    $users = DB::table('users')->get();
    
    $users = Cache::remember('users', 120, function () {
        return DB::table('users')->get();
    });
    

  • 최신 버전의 PHP 사용
  • 대기열 활용

  • 성능 시간을 줄일 수 있는 한 가지 방법은 Laravel 대기열을 사용하는 것입니다. 웹 브라우저 응답에 특별히 필요하지 않은 요청의 컨트롤러 또는 클래스에서 실행되는 코드가 있는 경우 일반적으로 대기열에 넣을 수 있습니다.

    class ContactController extends Controller
    {
        /**
         * Store a new podcast.
         *
         * @param    Request  $request
         * @return  JsonResponse
         */
        public function store(ContactFormRequest $request)
        {
            $request->storeContactFormDetails();
            Mail::to('[email protected]')->send(new ContactFormSubmission);
    
            return response()->json(['success' => true]);
        }
    }
    


    대기열 시스템을 사용하기 위해 대신 코드를 다음과 같이 업데이트할 수 있습니다.

    class ContactController extends Controller
    {
        /**
         * Store a new podcast.
         *
         * @param    Request  $request
         * @return  JsonResponse
         */
        public function store(ContactFormRequest $request)
        {
            $request->storeContactFormDetails();
    
            dispatch(function () {
                 Mail::to('[email protected]')->send(new ContactFormSubmission);
             })->afterResponse();
    
            return response()->json(['success' => true]);
        }
    }
    


    나는 당신이 기사에서 이익을 얻고 행복한 코드를 기원합니다.

    좋은 웹페이지 즐겨찾기