很多站长朋友们都不太清楚phpcache类,今天小编就来给大家整理phpcache类,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 thinkphp5框架扩展redis类方法示例 2、 PHP关于服务器缓存的提问 3、 如何扩展cache 类 4、 php的cache thinkphp5框架扩展redis类方法示例本文实例讲述了thinkphp5框架扩展redis类方法。分享给大家供大家参考,具体如下:
笔者在开发时发现,thinkphp5的自带redis类方法,只有简单的读取缓存、写入缓存的基本方法,远不能满足我们业务的需求。redis本身支持五种数据类型,string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。redis的东西就不必再介绍了,接下来还是让我一起扩展thinkphp5的redis方法吧!
首先我们先找到缓存驱动类里的,handler()方法,这个方法是返回Redis类的实例化对象的。
这就是实例化对象,包括了options配置项、handler资源句柄、tag标签。实际上这里的handler是new
Redis()的对象实例。只要在外部拿到handler资源句柄,则可以对redis的操作进行扩展了。
在cache类里新增一个getHandler方法。
然后我们就可以在控制器调用了
打印的就是这个redis对象了
这里需要注意的是:
一个是调thinkphp5的redis的方法,就是这样用。
一个是如果你要调用原生的redis方法
基本的用法都讲完了。
接下来就愉快的开始扩展redis方法吧。
先找到这个类
这个类里并没有list的相关操作方法,那我们就来扩展list的相关方法。
这里的话,我就举一个例子了。
在控制器里去调用
这样就写入成功了。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend
FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例ThinkPHP行为扩展Behavior应用实例详解ThinkPHP应用模式扩展详解ThinkPHP框架设计及扩展详解ThinkPHP的Widget扩展实例老生常谈ThinkPHP中的行为扩展和插件(推荐)TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例thinkPHP下的widget扩展用法实例分析thinkPHP3.2.2框架行为扩展及demo示例ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】thinkphp5框架实现的自定义扩展类操作示例
PHP关于服务器缓存的提问一、除非你的整个WEB服务器只做一个论坛使用,否则用APPLICATION里面放论坛索引是不科学的。
二、每次都从数据库里面取也无可厚非,数据库有自己查询缓存系统,这样的事情交给数据库去做是对的,老是过份的考虑得这么细,在开发大型系统应用的时候会严重影响效率。
三、如果使用一般数据库,希望进行一下优化,不用每次都在数据库里面取,也是可行的,方法是在编写好每次都从数据库里面取的程序以后,进行如下两个方面的变化:
1是在从数据库里面取数的地方,增加判断是否存在相应的静态html文件,如果存在就从文件里面读,否则从数据库里面取出来,并在输出之前保存到html文件里面,逻辑如下:
$cachefile='静态html文件名.html';
if (file_exists($cachefile)) $out_str=file_get_contents($cachefile);
else{ $out_str='';//接着从数据库里面取出内容,并添加到字符串变量$out_str后面
$fp=fopen($cachefile,'w');fputs($fp,$out_str);fclose($fp);
}
echo $out_str;//输出内容
2还需要修改所有针对上面的内容进行delete和update的程序,在修改数据库之后增加删除文件的功能,大致结构是:
$cachefile='静态html文件名.html';
delete($cachefile);
如何扩展cache 类在目标地址后面添加一些命令行即可。
举例来说,
C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe --incognito --user-data-dir="E:\\chrome\userdata" --disk-cache-dir="E:\\chrome\userdata" -
注意每个命令行开头,两个减号“--”前要有一个空格,要用英文字符
--incognito,,,启动隐身,
--user-data-dir="E:\\chrome\userdata",,,个人资料在E盘chrome文件夹的子文件夹userdata中,个人资料就是chrome设置、主题、扩展之类的。
--disk-cache-dir="E:\\chrome\userdata" ,,,缓存在E盘chrome文件夹的子文件夹userdata中,
只用把存放路径改一下就行了,其他不想要的,可以删掉。
打开内置网页chrome://version,就能看到启动了那些命令行。
php的cache大体可以这样和你说吧。。好理解。。。
1. 内存级缓存。 - xcache memcached等
2. 文件级缓存。(数据缓存和模板缓存) - 就是把一些本来要查询数据库的东西 直接把数据取出来写到文件 用的时候读出来。。。。
3. 模板引擎。。。跟服务器支持不支持没关系。。。。
4. web应用的性能瓶颈通常情况下, 是出现在数据库上的。 包括一些大数据量下的检索等 。
5. 数据库连接池。。额。。。 你说的是长连接吧? PHP本身是。。。那啥的。。。执行完之后就全部销毁了。。。。
关于phpcache类的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。