Phpfastcache is an open source PHP cache that provides a simple PHP file for easy integration into existing projects and supports a variety of caching methods, including: APC, Memcache, memcached, Wincache, files, PDO and Mpdo. A simple API can be used to define the effective time for caching.
| The code is as follows |
Copy Code |
<?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 n Eed to change your code when your change your caching system. Or simple Keep it auto
$cache = Phpfastcache ();
//In your Class, functions, PHP Pages
//try to get from Cache i 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 seconds = minutes
$cache->set ("Pro Duct_page ", $products, 600);
}
//Output Your Contents $products here |
Improve Curl and API invocation performance
| code is as follows |
copy code |
<?php
Include ("phpfastcache/phpfastcache.php");
$cache = Phpfastcache ("memcached");
//try to get from Cache I.
$results = $cache->get ("Identity_keyword")
if ($results = = null) {
$results = curl- >get ("Http://www.youtube.com/api/json/url/keyword/page");
//Write to Cache Save APIs Calls next time
$cache->set ("Identity_keyword ", $results, 3600*24);
}
foreach ($results as $video) {
//Output Your Contents here
} |
Full Page Caching
| The code is as follows |
Copy Code |
<?php
Use the 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
RENDER YOUR PAGE, DB QUERY, WHATEVER
*/
Get HTML webpage
$html = Ob_get_contents ();
Save to Cache minutes
__c ("Files")->set ($keyword _webpage, $html, 1800);
}
Echo $html; |
Pendant cache
| The code is as follows |
Copy Code |
<?php
Use the 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 minutes
$cache->widget_1 = Array ($html, 1800);
}
echo or return your $html; |
Use multiple caches simultaneously
| The code is as follows |
Copy Code |
<?php
In your config files
Include ("phpfastcache/phpfastcache.php");
Auto | Memcache | Files ... etc. 'll is default for $cache = __c ();
Phpfastcache:: $storage = "Auto";
$cache 1 = Phpfastcache ();
$cache 2 = __c ("Memcache");
$server = Array (Array ("127.0.0.1", 11211,100), Array ("128.5.1.3", 11215,80));
$cache 2->option ("Server", $server);
$cache 3 = new Phpfastcache ("APC");
How to Write?
$cache 1->set ("Keyword1", "String|number|array|object", 300);
$cache 2->keyword2 = Array ("Something here", 600);
__c ()->keyword3 = Array ("Array|object", 3600*24);
How to Read?
$data = $cache 1->get ("Keyword1");
$data = $cache 2->keyword2;
$data = __c ()->keyword3;
$data = __c ()->get ("Keyword4");
Free to Travel between any caching methods
$cache 1 = Phpfastcache ("Files");
$cache 1->set ("Keyword1", $value, $time);
$cache 1->memcache->set ("Keyword1", $value, $time);
$cache 1->apc->set ("Whatever", $value, 300);
$cache 2 = __c ("APC");
$cache 2->keyword1 = Array ("So cool", 300);
$cache 2->files->keyword1 = Array ("Oh yeah!", 600);
$data = __c ("Memcache")->get ("Keyword1");
$data = __c ("Files")->get ("Keyword2");
$data = __c ()->keyword3;
Multiple? No Problem
$list = $cache 1->getmulti (Array ("Key1", "Key2", "Key3"));
$cache 2->setmulti (Array ("Key1", "value1", 300),
Array ("Key2", "value2", 600),
Array ("Key3", "Value3", 1800),
);
$list = $cache 1->apc->getmulti (Array ("Key1", "Key2", "Key3"));
__c ()->memcache->getmulti (Array ("A", "B", "C"));
Want more? Check out document in source code |