PHP缓存集成库phpFastCache用法


Posted in PHP onDecember 15, 2014

本文实例讲述了PHP缓存集成库phpFastCache用法。分享给大家供大家参考。具体分析如下:

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

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
Sep 30 PHP
基于php验证码函数的使用示例
May 03 PHP
php数组使用规则分析
Feb 27 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
php获取给定日期相差天数的方法分析
Feb 20 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 PHP
浅析php如何实现爬取数据原理
Sep 27 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 PHP
php图片的二进制转换实现方法
Dec 15 #PHP
php第一次无法获取cookie问题处理
Dec 15 #PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 #PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 #PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 #PHP
PHP中Memcache操作类及用法实例
Dec 12 #PHP
PHP实现PDO的mysql数据库操作类
Dec 12 #PHP
You might like
新52大事件
2020/03/03 欧美动漫
php UTF-8、Unicode和BOM问题
2010/05/18 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
python连接mysql并提交mysql事务示例
2014/03/05 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
python 搜索大文件的实例代码
2019/07/08 Python
python3图片文件批量重命名处理
2019/10/31 Python
新手学python应该下哪个版本
2020/06/11 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
Python实现京东抢秒杀功能
2021/01/25 Python
HTML5标签小集
2011/08/02 HTML / CSS
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
平面设计师工作职责范文
2013/12/03 职场文书
医学检验专业个人求职信范文
2013/12/04 职场文书
幼儿教育感言
2014/02/05 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android