php 数据缓存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 数据缓存相关的知识,希望对你有一定的参考价值。

php 数据缓存除了可以缓存在文件上还可以缓存在哪里
数据缓存包括哪几种,
看网上对缓存分类乱七八糟。谁总结西啊,详细点

一种是对 页面结果的缓存 应用服务器级别的 软件如 squid

一种是 内存级别的 一般是对 php 频繁调用的并且如果每次查询会消耗大量资源的数据 软件有 memcached

一种是 对php 程序进行优化编码的缓存 如 apache 里面的 apc, eAccelerator, XCache 等

还有一种就是文件缓存 这种一般是 用php自己实现的 没什么可说的.

看你的具体需求是怎样的了..有疑问 请联系 1465663870
参考技术A 1 缓存静态文件: 你的php文件太复杂生成静态文件免除了每次解决php的时间
2 比如memcache做缓存:你还是不想生成静态文件,但是查询数据太多,数据库吃不消,那就需要把值保存在memcache中,下次就从中取值
3 浏览器缓存:这个是客户端缓存了,把一些图片等信息存在用户电脑上,后台判断如果没有更新用户就继续加载本地的文件

缓存缓存,就是暂且先放到一个地方,万变不离其宗
参考技术B 其实PHP能实现的就一种缓存,就是页面输出对浏览器的缓存,实现函数是ob_start()+ob_get_contents()+ob_end_claen()
ob_start():开启缓存
ob_get_contents():获取缓存内容
ob_end_claen():关闭以及清除缓存(注意:还有一个类似的函数是ob_clean()这个函数只是清除当前页面缓存,并没有关闭缓存)
参考技术C PHP数据缓存常用页面缓存 静态缓存
php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents()
静态缓存是指静态化,直接生成html或XML等文本文件,有更新的时候重生成一次,适合于不太变化的页面
给你个页面缓存的例子
function page_cache($ttl = 0)

$ttl = $ttl ? $ttl : PAGE_TTL;//缓存时间,默认3600s
$contents = ob_get_contents();//从缓存中获取内容
$contents = "<!--page_ttl:".(time() + $ttl)."-->n".$contents;
  //加上自定义头部:过期时间=生成时间+缓存时间
file_put_contents(PAGE_FILE, $contents);//写入缓存文件中
ob_end_flush();//释放缓存
参考技术D 一般是缓存文件,当然也可以将缓存文件存入数据库,blob类型,不过缓存文件比较容易取出数据,include缓存文件就可以了

php 清除数据库架构缓存

Yii::$app->db->schema->refresh();

以上是关于php 数据缓存的主要内容,如果未能解决你的问题,请参考以下文章

php 中如何使用缓存,使用哪种缓存机制最好;

总结PHP缓存技术的多种方法

请帮助解释一下PHP的缓存问题

兄弟连分析PHP缓存技术的多种方法小结

php缓存

PHP缓存技术的多种方法小结