Heim > Artikel > Backend-Entwicklung > Informationen zur Verwendung der PHP-Caching-Bibliothek phpFastCache
phpfastcache ist ein leistungsstarkes, verteiltes Objekt-Caching-System, das vielseitig einsetzbar ist und zur Beschleunigung dynamischer Webanwendungen und zur Reduzierung der Datenbanklast eingesetzt werden kann.
phpfastcache reduziert die Datenbanklast auf nahezu Null und sorgt so für schnellere Seitenladezeiten für Benutzer und eine bessere Ressourcennutzung. Es ist einfach und doch kraftvoll.
Reduzieren Sie Datenbankabfragen
<?<span>php </span><span>//</span><span> In your config file</span> <span>include</span>("phpfastcache/phpfastcache.php"<span>); phpFastCache</span>::setup("storage","auto"<span>); </span><span>//</span><span> 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</span> <span>$cache</span> =<span> phpFastCache(); </span><span>//</span><span> In your Class, Functions, PHP Pages // try to get from Cache first. product_page = YOUR Identity Keyword</span> <span>$products</span> = <span>$cache</span>->get("product_page"<span>); </span><span>if</span>(<span>$products</span> == <span>null</span><span>) { </span><span>$products</span> = YOUR DB QUERIES ||<span> GET_PRODUCTS_FUNCTION; </span><span>//</span><span> set products in to cache in 600 seconds = 10 minutes</span> <span>$cache</span>->set("product_page", <span>$products</span>,600<span>); } </span><span>//</span><span> Output Your Contents $products HERE</span>
Verbessern Sie die Leistung von cURL- und API-Aufrufen
<?<span>php </span><span>include</span>("phpfastcache/phpfastcache.php"<span>); </span><span>$cache</span> = phpFastCache("memcached"<span>); </span><span>//</span><span> try to get from Cache first.</span> <span>$results</span> = <span>$cache</span>->get("identity_keyword"<span>) </span><span>if</span>(<span>$results</span> == <span>null</span><span>) { </span><span>$results</span> = cURL->get("http://www.youtube.com/api/json/url/keyword/page"<span>); </span><span>//</span><span> Write to Cache Save API Calls next time</span> <span>$cache</span>->set("identity_keyword", <span>$results</span>, 3600*24<span>); } </span><span>foreach</span>(<span>$results</span> <span>as</span> <span>$video</span><span>) { </span><span>//</span><span> Output Your Contents HERE</span> }
Vollständiger Seitencache
<?<span>php </span><span>//</span><span> use Files Cache for Whole Page / Widget // keyword = Webpage_URL</span> <span>$keyword_webpage</span> = <span>md5</span>(<span>$_SERVER</span>['HTTP_HOST'].<span>$_SERVER</span>['REQUEST_URI'].<span>$_SERVER</span>['QUERY_STRING'<span>]); </span><span>$html</span> = __c("files")->get(<span>$keyword_webpage</span><span>); </span><span>if</span>(<span>$html</span> == <span>null</span><span>) { </span><span>ob_start</span><span>(); </span><span>/*</span><span> ALL OF YOUR CODE GO HERE RENDER YOUR PAGE, DB QUERY, WHATEVER </span><span>*/</span> <span>//</span><span> GET HTML WEBPAGE</span> <span>$html</span> = <span>ob_get_contents</span><span>(); </span><span>//</span><span> Save to Cache 30 minutes</span> __c("files")->set(<span>$keyword_webpage</span>,<span>$html</span>, 1800<span>); } </span><span>echo</span> <span>$html</span>;
Widget-Cache
<?<span>php </span><span>//</span><span> use Files Cache for Whole Page / Widget</span> <span>$cache</span> = phpFastCache("files"<span>); </span><span>$html</span> = <span>$cache</span>-><span>widget_1; </span><span>if</span>(<span>$html</span> == <span>null</span><span>) { </span><span>$html</span> = Render Your Page || Widget || "Hello World"<span>; </span><span>//</span><span> Save to Cache 30 minutes</span> <span>$cache</span>->widget_1 = <span>array</span>(<span>$html</span>, 1800<span>); } </span><span>echo</span> or <span>return</span> your <span>$html</span>;
Verwenden Sie mehrere Caches gleichzeitig
<?<span>php </span><span>//</span><span> in your config files</span> <span>include</span>("phpfastcache/phpfastcache.php"<span>); </span><span>//</span><span> auto | memcache | files ...etc. Will be default for $cache = __c();</span> phpFastCache::<span>$storage</span> = "auto"<span>; </span><span>$cache1</span> =<span> phpFastCache(); </span><span>$cache2</span> = __c("memcache"<span>); </span><span>$server</span> = <span>array</span>(<span>array</span>("127.0.0.1",11211,100), <span>array</span>("128.5.1.3",11215,80<span>)); </span><span>$cache2</span>->option("server", <span>$server</span><span>); </span><span>$cache3</span> = <span>new</span> phpFastCache("apc"<span>); </span><span>//</span><span> How to Write?</span> <span>$cache1</span>->set("keyword1", "string|number|array|object", 300<span>); </span><span>$cache2</span>->keyword2 = <span>array</span>("something here", 600<span>); __c()</span>->keyword3 = <span>array</span>("array|object", 3600*24<span>); </span><span>//</span><span> How to Read?</span> <span>$data</span> = <span>$cache1</span>->get("keyword1"<span>); </span><span>$data</span> = <span>$cache2</span>-><span>keyword2; </span><span>$data</span> = __c()-><span>keyword3; </span><span>$data</span> = __c()->get("keyword4"<span>); </span><span>//</span><span> Free to Travel between any caching methods</span> <span>$cache1</span> = phpFastCache("files"<span>); </span><span>$cache1</span>->set("keyword1", <span>$value</span>, <span>$time</span><span>); </span><span>$cache1</span>->memcache->set("keyword1", <span>$value</span>, <span>$time</span><span>); </span><span>$cache1</span>->apc->set("whatever", <span>$value</span>, 300<span>); </span><span>$cache2</span> = __c("apc"<span>); </span><span>$cache2</span>->keyword1 = <span>array</span>("so cool", 300<span>); </span><span>$cache2</span>->files->keyword1 = <span>array</span>("Oh yeah!", 600<span>); </span><span>$data</span> = __c("memcache")->get("keyword1"<span>); </span><span>$data</span> = __c("files")->get("keyword2"<span>); </span><span>$data</span> = __c()-><span>keyword3; </span><span>//</span><span> Multiple ? No Problem</span> <span>$list</span> = <span>$cache1</span>->getMulti(<span>array</span>("key1","key2","key3"<span>)); </span><span>$cache2</span>->setMulti(<span>array</span>("key1","value1", 300), <span>array</span>("key2","value2", 600), <span>array</span>("key3","value3", 1800),<span> ); </span><span>$list</span> = <span>$cache1</span>->apc->getMulti(<span>array</span>("key1","key2","key3"<span>)); __c()</span>->memcache->getMulti(<span>array</span>("a","b","c"<span>)); </span><span>//</span><span> want more? Check out document in source code</span>
Die obige Demo stammt aus dem Beispiel der offiziellen Website.
Offizielle Website-Adresse: http://www.phpfastcache.com/
Das Obige stellt die Verwendung der PHP-Cache-Bibliothek phpFastCache vor, einschließlich des Inhalts von phpFastCache. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.