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 PDO函数库详解
Apr 27 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
解析php 版获取重定向后的地址(代码)
Jun 26 PHP
php缓存技术详细总结
Aug 07 PHP
ucenter通信原理分析
Jan 09 PHP
php自定义函数实现统计中文字符串长度的方法小结
Apr 15 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
PHP实现权限管理功能示例
Sep 22 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
Mar 28 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
May 06 PHP
PHP sdk文档处理常用代码示例解析
Dec 09 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
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
Array.prototype.slice 使用扩展
2010/06/09 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
利用jquery实现下拉框的禁用与启用
2016/12/07 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Python变量赋值的秘密分享
2018/04/03 Python
django 外键model的互相读取方法
2018/12/15 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
python logging模块的使用总结
2019/07/09 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
python selenium xpath定位操作
2020/09/01 Python
美国购车网站:TrueCar
2016/10/19 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
总经理岗位职责描述
2014/02/08 职场文书
经典安踏广告词
2014/03/21 职场文书
计算机毕业生求职信
2014/06/10 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
售后服务质量承诺书
2015/04/29 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
Python实现打乒乓小游戏
2021/09/25 Python
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技