尊龙凯时人生就是博

laravelÔõô×ö¾²Ì¬Ò³Ã滺´æ

laravelÊÇphp¿ª·¢ÕßʹÓÃ×îÆÕ±éµÄ¿ò¼ÜÖ®Ò»£¬Ëü¾ßÓÐÇ¿Ê¢µÄ¹¦Ð§ºÍÎÞаµÄÉèÖᣵ±ÎÒÃǹ¹½¨Ò»¸ö»ùÓÚlaravelµÄÓ¦ÓóÌÐòʱ£¬ÓÐʱ¼äÎÒÃÇÐèÒª»º´æһЩ¾²Ì¬Ò³ÃæÒÔÌá¸ßÍøÕ¾µÄÐÔÄÜ¡£

ÔÚ±¾ÆªÎÄÕÂÖУ¬ÎÒÃǽ«ÑÝʾÔõÑùʹÓÃLaravelµÄ»º´æ¹¦Ð§À´»º´æ¾²Ì¬Ò³Ã棬´Ó¶øÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺÍÏìӦʱ¼ä¡£ÎÒÃǽ«ÊµÑéÔÚÁ½¸ö°ì·¨ÖÐÍê³ÉÕâ¸öʹÃü£ºÊ×ÏÈ£¬ÎÒÃǽ«ÉèÖÃLaravelµÄ»º´æÇý¶¯³ÌÐò£¬È»ºóÎÒÃǽ«½¨ÉèÒ»ÆäÖÐÐļþÀ´»º´æ¾²Ì¬Ò³Ãæ¡£

Ò»¡¢ÉèÖûº´æÇý¶¯³ÌÐò

LaravelÖ§³Ö¶àÖÖ»º´æÇý¶¯³ÌÐò£¬ÈçRedis¡¢Memcached¡¢APCºÍÎļþ»º´æ¡£ÎÒÃÇ¿ÉÒÔƾ֤ÏêϸÇéÐÎÀ´Ñ¡ÔñÊʺÏÎÒÃǵĻº´æÇý¶¯³ÌÐò¡£ÔÚ±¾ÀýÖУ¬ÎÒÃǽ«Ê¹ÓÃÎļþ»º´æÇý¶¯³ÌÐòÀ´»º´æ¾²Ì¬Ò³Ãæ¡£

Ê×ÏÈ£¬ÔÚconfig/cache.phpÉèÖÃÎļþÖУ¬ÎÒÃÇÐèÒª½«Ä¬ÈϵĻº´æÇý¶¯³ÌÐò¸ÄΪÎļþ»º´æÇý¶¯³ÌÐò£¬´úÂëÈçÏ£º

'default' => env('CACHE_DRIVER', 'file'),

µÇ¼ºó¸´ÖÆ

½ÓÏÂÀ´£¬ÔÚconfig/cache.phpÉèÖÃÎļþÖУ¬ÎÒÃÇÐèÒªÖ¸¶¨»º´æÎļþµÄ´æ´¢Â·¾¶£¬´úÂëÈçÏ£º

'path' => storage_path('framework/cache/data'),

µÇ¼ºó¸´ÖÆ

ÏÖÔÚ£¬ÎÒÃÇÒѾ­ÉèÖÃÁËLaravelµÄ»º´æÇý¶¯³ÌÐò£¬ÎÒÃÇ¿ÉÒÔ×îÏȹ¹½¨Ò»ÆäÖÐÐļþÀ´»º´æ¾²Ì¬Ò³Ãæ¡£

¶þ¡¢½¨É軺´æÒ³ÃæµÄÖÐÐļþ

ÔÚLaravelÖУ¬ÖÐÐļþÊÇ´¦ÀíHTTPÇëÇóµÄÒ»¸öÖ÷Òª×é³É²¿·Ö¡£ÎÒÃÇ¿ÉÒÔʹÓÃÖÐÐļþÀ´¹ýÂËÇëÇó¡¢Ìí¼ÓÍ·ÐÅÏ¢¡¢ÉèÖÃcookieµÈµÈ¡£ÔÚ±¾ÀýÖУ¬ÎÒÃǽ«½¨ÉèÒ»ÆäÖÐÐļþÀ´»º´æ¾²Ì¬Ò³Ãæ¡£

Ê×ÏÈ£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öÃûΪ¡°CachePage¡±µÄÖÐÐļþ£¬ÓÃÓÚ»º´æ¾²Ì¬Ò³Ãæ¡£ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´ÌìÉúеÄÖÐÐļþ£º

php artisan make:middleware CachePage

µÇ¼ºó¸´ÖÆ

µ±ÎÒÃÇÔËÐÐÉÏÊöÏÂÁîʱ£¬Laravel½«×Ô¶¯½¨ÉèÃûΪ¡°CachePage.php¡±µÄÎļþ²¢½«Æä°²ÅÅÔÚapp/Http/MiddlewareĿ¼ÖС£·­¿ª¸ÃÎļþ£¬²¢ÔÚhandleÒªÁìÖÐÌí¼ÓÒÔÏ´úÂ룺

public function handle($request, Closure $next)
{
    // ¼ì²é´ËÇëÇóÊÇ·ñ¿ÉÒÔ»º´æ
    if (! $this->shouldCache($request)) {
        return $next($request);
    }

    // »ñÈ¡´ËÇëÇóµÄ»º´æ¼ü
    $key = $this->getCacheKey($request);

    // ÊµÑé´Ó»º´æÖлñÈ¡´ËÇëÇóµÄÒ³Ãæ
    if (Cache::has($key)) {
        return response(Cache::get($key));
    }

    // ÈôÊÇûÓдӻº´æÖлñÈ¡µ½£¬ÄÇô¾Í´¦ÀíÇëÇó²¢½«Ð§¹û»º´æÏÂÀ´
    $response = $next($request);
    if ($this->shouldCacheResponse($response)) {
        Cache::put($key, $response->getContent(), $this->getCacheLifetime());
    }

    return $response;
}

// ¼ì²é´ËÇëÇóÊÇ·ñ¿ÉÒÔ»º´æ
protected function shouldCache($request)
{
    if (!$request->isMethod('get')) {
        return false;
    }

    if ($request->query->count()) {
        return false;
    }

    if (auth()->check()) {
        return false;
    }

    if (config('app.env') === 'local') {
        return false;
    }

    return true;
}

// »ñÈ¡´ËÇëÇóµÄ»º´æ¼ü
protected function getCacheKey($request)
{
    return 'cache:' . $request->url();
}

// ¼ì²é´ËÇëÇóµÄÏìÓ¦ÊÇ·ñ¿ÉÒÔ»º´æ
protected function shouldCacheResponse($response)
{
    return $response->status() === 200;
}

// »ñÈ¡Ò³Ã滺´æµÄÉúÑÄʱ¼ä
protected function getCacheLifetime()
{
    return config('cache.page_cache_lifetime');
}

µÇ¼ºó¸´ÖÆ

ÏÖÔÚ£¬ÈÃÎÒÃÇÖð²½Ú¹ÊÍÒ»ÏÂÉÏÃæµÄ´úÂ룺

ÎÒÃÇÊ×Ïȼì²é´ËÇëÇóÊÇ·ñ¿ÉÒÔ»º´æ¡£ÎÒÃÇÖ»ÐèÒª»º´æGETÇëÇó¡¢Ã»ÓÐÈκÎÅÌÎʲÎÊýµÄÇëÇó¡¢Î´¾­ÓÉÉí·ÝÑéÖ¤µÄÇëÇóºÍ·ÇÍâµØÇéÐÎϵÄÇëÇó¡£

ÈôÊÇÎÒÃÇÈ·¶¨´ËÇëÇó¿ÉÒÔ»º´æ£¬ÎÒÃǾͻñÈ¡»º´æ¼ü¡£ÔÚ±¾ÀýÖУ¬ÎÒÃÇʹÓÃÇëÇóµÄURL×÷Ϊ»º´æ¼ü¡£

È»ºó£¬ÎÒÃÇʵÑé´Ó»º´æÖлñÈ¡´ËÒ³Ãæ¡£ÈôÊÇÎÒÃÇÄܹ»´Ó»º´æÖлñÈ¡µ½´ËÒ³Ã棬Ôò·µ»ØËü²¢ÖÐÖ¹ÆäËüÀú³Ì¡£

ÈôÊÇ´Ó»º´æÖлñÈ¡²»µ½Ò³Ã棬Ôò´¦ÀíÇëÇó²¢»º´æЧ¹û¡£×îºó£¬·µ»Ø´¦ÀíµÄЧ¹û¡£

ÏÖÔÚ£¬ÔÚKernel.phpÎļþÖÐ×¢²áÕâÆäÖÐÐļþ¡£ÎÒÃǽ«ËüµÄ×¢²á´úÂëÌí¼Óµ½$routeMiddlewareÊý×éÖУ¬´úÂëÈçÏ£º

'cache.page' => \App\Http\Middleware\CachePage::class,

µÇ¼ºó¸´ÖÆ

ÏÖÔÚ£¬Ã¿µ±ÎÒÃǵÄÓ¦ÓóÌÐò´¦ÀíÒ»¸öÆ¥ÅäCachePageÖÐÐļþµÄ·ÓÉʱ£¬¸ÃÖÐÐļþ½«»á»º´æ´¦ÀíЧ¹û£¬²¢½«Æä´æ´¢ÔÚÎļþϵͳÖС£µ±ÏÂÒ»´ÎÇëÇóµ½À´Ê±£¬ÖÐÐļþ½«´Ó»º´æÖмìË÷Ò³Ã棬²¢¿ìËÙ·µ»ØЧ¹û¡£

×ܽá

ÔÚ±¾ÎÄÖУ¬ÎÒÃÇչʾÁËÔõÑùʹÓÃLaravelµÄ»º´æ¹¦Ð§À´»º´æ¾²Ì¬Ò³Ãæ¡£ÎÒÃÇÊ×ÏÈÉèÖÃÁËLaravelµÄ»º´æÇý¶¯³ÌÐò£¬È»ºó½¨ÉèÁËÒ»ÆäÖÐÐļþÀ´»º´æ¾²Ì¬Ò³Ãæ¡£ÔÚÕû¸öÀú³ÌÖУ¬ÎÒÃǹØ×¢ÁËһЩ×î¼Ñʵ¼ùºÍÏÖʵʹÓð¸Àý£¬ÎªÄúÑÝʾÁËÔõÑùÓÅ»¯ÄúµÄÓ¦ÓóÌÐò£¬È·±£Æä×î¼ÑÐÔÄܺÍÏìӦʱ¼ä¡£

ÒÔÉϾÍÊÇlaravelÔõô×ö¾²Ì¬Ò³Ã滺´æµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í尊龙凯时人生就是博ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ尊龙凯时人生就是博ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ尊龙凯时人生就是博

13452372176

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
sitemap¡¢ÍøÕ¾µØͼ