加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP缓存集成库phpFastCache学习资料

发布时间:2023-09-12 13:21:10 所属栏目:PHP教程 来源:
导读:PHP缓存的方法有很多种,常用的有memcache, memcached。现在我们来学习一个php缓存集成库phpFastCache,就是开源的,只有一个简单的php文件,就可以支持包括apc,memcache,memcached,wincache,files,pdo and mpdo等缓存方
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(); 
//开源软件:Cuoxin.com 
// 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 
?>

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章