2

次のコードから生成された動的スタイルシートがあります。

これをファイルにキャッシュし、ファイルが存在する場合はロードするのに最適な方法です。

case 'stylesheet':
    header('Content-type: text/css');   
    header("Cache-Control: must-revalidate"); 
    $offset = 72000 ; 
    $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; 
    header($ExpStr);

    $stylesheets = array(
        'open_sans'   => file_get_contents('http://fonts.googleapis.com/css?family=Open+Sans:400,600,700')
    );
    exit;

エコーCSSから印刷{$stylesheets['open_sans']} CSS;

4

5 に答える 5

2

今はいいと思います。

非常にシンプルで強力なクラスを見つけました: https://github.com/gilbitron/PHP-SimpleCache

そして、私がやっているチェックのために:

if (file_exists(CACHE_PATH . 'stylesheet.cache')) {
    require CACHE_PATH . 'stylesheet.cache'; 
    exit;
于 2012-12-27T05:53:42.893 に答える
0

phpFastCache.com を試す

これは簡単な例です。CSS をキャッシュすると、次のようになります。

require_once("phpfastcache/phpfastcache.php");

$css = __c()->get("csspage.user_id_something");

if($css == null) {
       // handle your css function here
       $css = "your handle function here";
       // write to cache 1 hour
       __c()->set("csspage.user_id_something", $css, 3600);
}

echo $css;

PHP Web ページ全体をキャッシュする: phpFastCache を使用して Web ページ全体を簡単にキャッシュすることもできます。これは単純な例ですが、実際のコードでは、2 つのファイル (cache_start.php と cache_end.php) に分割する必要があります。cache_start.php は ob_start(); まで最初のコードを保存します。cache_end.php は GET HTML WEBPAGE から開始されます。次に、index.php の先頭に cache_start.php が含まれ、ファイルの最後に cache_end.php が含まれます。

<?php
    // use Files Cache for Whole Page / Widget

    // keyword = Webpage_URL
    $keyword_webpage = md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$_SERVER['QUERY_STRING']);
    $html = __c("files")->get($keyword_webpage);

    if($html == null) {
        ob_start();
        /*
            ALL OF YOUR CODE GO HERE
            RENDER YOUR PAGE, DB QUERY, WHATEVER
        */

        // GET HTML WEBPAGE
        $html = ob_get_contents();
        // Save to Cache 30 minutes
        __c("files")->set($keyword_webpage,$html, 1800);
    }

    echo $html;
?>

データベース呼び出しを減らす データベースの PHP キャッシング クラス : あなたの Web サイトにはオンラインの訪問者が 10,000 人いて、動的ページは、ページが読み込まれるたびに 10,000 件の同じクエリをデータベースに送信する必要があります。phpFastCache を使用すると、ページは 1 つのクエリのみを DB に送信し、キャッシュを使用して 9,999 人の他の訪問者にサービスを提供します。

<?php
    // In your config file
    include("phpfastcache/phpfastcache.php");
    phpFastCache::setup("storage","auto");

    // phpFastCache support "apc", "memcache", "memcached", "wincache" ,"files", "sqlite" and "xcache"
    // You don't need to change your code when you change your caching system. Or simple keep it auto
    $cache = phpFastCache();

    // In your Class, Functions, PHP Pages
    // try to get from Cache first.
    // product_page = YOUR Identity Keyword
    $products = $cache->product_page;

    if($products == null) {
        $products = YOUR DB QUERIES || GET_PRODUCTS_FUNCTION;


   // set products in to cache in 600 seconds = 10 minutes
        $cache->product_page  = array($products,600);
    }

    foreach($products as $product) {
        // Output Your Contents HERE
    }
?>
于 2013-08-17T18:57:48.600 に答える
0

ここには、あなたのようなコードで使用できる単純なキャッシュの実装があります。

于 2012-12-26T19:44:09.777 に答える
0

APC キャッシュをお勧めします。PHP 用の安定した高速メモリ キャッシュです。アプリ全体で使用していますが、必要に応じて変数を保存するためだけに使用できます。$stylesheets['open_sans'] (apc_store 関数を使用) の内容をキャッシュ変数に保存することができ、そこから (apc_fetch を使用します)、RAM メモリから (高速) 提供されます。有効期限を設定したい。

于 2013-08-17T20:19:09.620 に答える