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 相关文章推荐
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
php生成酷炫的四个字符验证码
Apr 22 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
php查询内存信息操作示例
May 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
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
JavaScript 撑出页面文字换行
2009/06/15 Javascript
JavaScript 继承详解(三)
2009/07/13 Javascript
javascript数组去掉重复
2011/05/12 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
javascript中的onkeyup和onkeydown区别介绍
2013/04/28 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
动态创建类实例代码
2009/10/07 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
学python需要去培训机构吗
2020/07/01 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
公司道歉信范文
2014/01/09 职场文书
大四学生思想汇报
2014/01/13 职场文书
计算机网络专业自荐信
2014/07/04 职场文书
Nginx跨域问题解析与解决
2022/08/05 Servers