今天有个以前smarty开发的网站,现在做个seo后台处理,考虑到访问量的原因,决定用缓存处理,最开始一直认为要用smarty的模板缓存缓存机制。最后讨论下发现。这是个数据缓存。脑袋也清晰许多。
首先需要两个读取和写入函数,uch里面有现成的
//读取文件内容
function swritefile($filename, $writetext, $openmod='w')
{
if(@$fp = fopen($filename, $openmod))
{
flock($fp, 2);
fwrite($fp, $writetext);
fclose($fp);
return true;
}
else
{
return false;
}
}
//获取文件内容
function sreadfile($filename)
{
$content = '';
if(function_exists('file_get_contents'))
{
@$content = file_get_contents($filename);
}
else
{
if(@$fp = fopen($filename, 'r'))
{
@$content = fread($fp, filesize($filename));
@fclose($fp);
}
}
return $content;
}
2,然后,一个简单的缓存可以这样来处理
$data_path='../data/seo_data/'; //缓存路径
if(!file_exists($data_path))
{
mkdir($data_path);
}
$data_file = $data_path.$id.'.php'; //缓存文件名称,$id可以设置成字符串数字等
$cache_time=filemtime($data_file);
if(!file_exists($data_file) || (time()-$cache_time)>3600)
{
/*$list
这里显示需要缓存的数据(从数据库里面读出来等)
*/
swritefile($data_file, serialize($list)); //序列化读入文件
}
else
{
$list = unserialize(sreadfile($data_file));//没过期且有缓存文件存在时,读缓存文件。
}
$list;//缓存过的值
(--end--)
分享到:
相关推荐
如果访问量大的话会给数据库造成很大的负担,所以对于变化不经常的内容要做好php 数据cache(缓存)是十分必要的。 对于一般的变量,把该变量变成php语言的格式,写到文件中,用时只要include这个文件就相当于...
如果访问量大的话会给数据库造成很大的负担,所以对于变化不经常的内容要做好php 数据cache(缓存)是十分必要的。 对于一般的变量,把该变量变成php语言的格式,写到文件中,用时只要include这个文件就相当于加载了...
PHP数据缓存技术
本篇文章是对PHP数据缓存的使用进行了详细的分析介绍。需要的朋友参考下
数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与数据文件缓存有需要的朋友可参考. 1.对于一般的变量,把该变量变成php语言的格式,写到文件中,用时...
php缓存技术总结,全静态,部分缓存,数据缓存,查询缓存,内存式缓存,APC缓存,Opcode缓存
本文实例汇总了常见php数据文件缓存类。分享给大家供大家参考。具体分析如下: 数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与数据文件缓存。感兴趣的...
如果访问量大的话会给数据库造成很大的负担,所以对于变化不经常的内容要做好php 数据cache(缓存)是十分必要的,我做了一个简单的php“文件缓存”的类,希望对大家有所帮助。 思路是这样的: 对于一般的变量,把该...
介绍php缓存数据功能的mysqli类,若框架中使用__autoload(),可以不用加载文件,需要的朋友可以学习参考,如果小伙伴们有更好的方案可以拿过来与我们一起学习分享。
二、数据查询结果缓存,使用内存来实现高速缓存 本例主要使用文件缓存。 主要原理使用缓存函数来存储网页显示结果,如果在规定时间里再次调用则可以加载缓存文件。
一个php内存缓存Memcached类代码,构造方法,用于添加服务器并创建memcahced对象,获取memcached对象,检查mem是否连接成功,向memcache中添加数据,获取memcahce中保存的数据,删除和同一个表相关的所有缓存。
1.对于一般的变量,把该变量变成php语言的格式,写到文件中,用时只要include...3.缓存cache时间上的控制,通过获取缓存文件的创建时间和现在的时间进行对比,如果没有到更新时间,直接读取缓存,如果到了更新时间,查询数据库.
一般来说,缓存的目的是把数据放在一个地方让访问的更快点,毫无疑问,内存是最快的,但是,几百M的数据能往内存放么?这不现实,当然,有的时候临时放如服务器缓存,如ob_start()这个缓存页面开启的话在发送文件头之前页面...
一个很好用的php缓存文件类,得到本类实例,得到缓存信息,设置一个缓存,清除一条缓存,判断缓存是否存在,通过缓存id得到缓存信息路径,通过id得到缓存信息存储文件名,把数据写入文件。
一个php内存缓存Memcached类代码,构造方法,用于添加服务器并创建memcahced对象,获取memcached对象,检查mem是否连接成功,向memcache中添加数据,获取memcahce中保存的数据,删除和同一个表相关的所有缓存。
1、缓存有页面缓存与数据缓存,页面缓存就是把显示的页面生成一个文件,数据缓存就是把数据生成一个文件,都有一个更新缓存的间隔时间,判断文件的修改时间或者生成时间的时间邮戳加上间隔时间的秒数如果大于当前...
这种情况下,您需要采用一种机制,每当应用程序需要缓存的数据库数据发生更改时,该机制将通知该应用程序,以便该应用程序将缓存的过期数据与数据库保持一致。这种情况下使用“数据库更改通知”将非常方便。