PHP缓存的方法有很多种,常用的有memcache, memcached。现在我们来学习一个php缓存集成库phpFastCache,就是开源的,只有一个简单的php文件,就可以支持包括apc,memcache,memcached,wincache,files,pdo and mpdo等缓存方法.
phpFastCache是一个开源的PHP缓存库,只提供一个简单的PHP文件,可方便集成到已有项目,支持多种缓存方法,包括:apc,memcache,memcached,wincache,files,pdo and mpdo,可通过简单的API来定义缓存的有效时间,代码如下:
<?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->get("product_page"); if($products == null) { $products = YOUR DB QUERIES || GET_PRODUCTS_FUNCTION; // set products in to cache in 600 seconds = 10 minutes $cache->set("product_page", $products,600); } // Output Your Contents $products HERE
提高cURL和API调用性能,代码如下:
<?php include("phpfastcache/phpfastcache.php"); $cache = phpFastCache("memcached"); // try to get from Cache first. $results = $cache->get("identity_keyword") if($results == null) { $results = cURL->get("http://www.youtube.com/api/json/url/keyword/page"); // Write to Cache Save API Calls next time $cache->set("identity_keyword", $results, 3600*24); } foreach($results as $video) { // Output Your Contents HERE }
全页缓存,代码如下:
<?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 // use Files Cache for Whole Page / Widget $cache = phpFastCache("files"); $html = $cache->widget_1; if($html == null) { $html = Render Your Page || Widget || "Hello World"; // Save to Cache 30 minutes $cache->widget_1 = array($html, 1800); } echo or return your $html;
同时使用多种缓存,代码如下:
<?php // in your config files include("phpfastcache/phpfastcache.php"); // auto | memcache | files ...etc. Will be default for $cache = __c(); phpFastCache::$storage = "auto"; $cache1 = phpFastCache(); $cache2 = __c("memcache"); $server = array(array("127.0.0.1",11211,100), array("128.5.1.3",11215,80)); $cache2->option("server", $server); $cache3 = new phpFastCache("apc"); // How to Write? $cache1->set("keyword1", "string|number|array|object", 300); $cache2->keyword2 = array("something here", 600); __c()->keyword3 = array("array|object", 3600*24); // How to Read? $data = $cache1->get("keyword1"); $data = $cache2->keyword2; $data = __c()->keyword3; $data = __c()->get("keyword4"); // Free to Travel between any caching methods $cache1 = phpFastCache("files"); $cache1->set("keyword1", $value, $time); $cache1->memcache->set("keyword1", $value, $time); $cache1->apc->set("whatever", $value, 300); $cache2 = __c("apc"); $cache2->keyword1 = array("so cool", 300); $cache2->files->keyword1 = array("Oh yeah!", 600); $data = __c("memcache")->get("keyword1"); $data = __c("files")->get("keyword2"); $data = __c()->keyword3; // Multiple ? No Problem $list = $cache1->getMulti(array("key1","key2","key3")); $cache2->setMulti(array("key1","value1", 300), array("key2","value2", 600), array("key3","value3", 1800), ); $list = $cache1->apc->getMulti(array("key1","key2","key3")); __c()->memcache->getMulti(array("a","b","c")); // want more? Check out document in source code
本文地址:
转载随意,但请附上文章地址:-)

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor