找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1354|回复: 0
打印 上一主题 下一主题

PHP缓存集成库phpFastCache用法

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:51:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了PHP缓存集成库phpFastCache用法。分享给大家供大家参考。具体分析如下:
phpFastCache是一个开源的PHP缓存库,只提供一个简单的PHP文件,可方便集成到已有项目,支持多种缓存方法,包括:apc, memcache, memcached, wincache, files, pdo and mpdo。可通过简单的API来定义缓存的有效时间。
[U]复制代码[/U] 代码如下:
// 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调用性能
[U]复制代码[/U] 代码如下:
$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
}
全页缓存
[U]复制代码[/U] 代码如下:
// 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;
挂件缓存
[U]复制代码[/U] 代码如下:
$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;
同时使用多种缓存
[U]复制代码[/U] 代码如下:
$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
希望本文所述对大家的PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • PHP 内存缓存加速功能memcached安装与用法
  • PHP中文件缓存转内存缓存的方法
  • php文件缓存类汇总
  • php设置静态内容缓存时间的方法
  • 常见php数据文件缓存类汇总
  • PHP内存缓存Memcached类实例
  • PHP使用header()输出图片缓存实例
  • PHP使用memcache缓存技术提高响应速度的方法
  • php页面缓存方法小结
  • php内存缓存实现方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端