(1) 静态 缓存 这里技术的本质是我们将我们所需要的一些数据临时存在服务器的一些文件中。 ?php class File { private $_dir ; const EXT= 'php' ; public function __construct () { $this -_dir=dirname( __FILE__ ). '/files/' ; } public function cache
(1)静态缓存
这里技术的本质是我们将我们所需要的一些数据临时存在服务器的一些文件中。
<span><span><?php</span>
<span><span>class</span> <span>File</span>
{</span>
<span>private</span> <span>$_dir</span>;
<span>const</span> EXT=<span>'php'</span>;
<span>public</span> <span><span>function</span> <span>__construct</span><span>()</span>
{</span>
<span>$this</span>->_dir=dirname(<span>__FILE__</span>).<span>'/files/'</span>;
}
<span>public</span> <span><span>function</span> <span>cacheDate</span><span>(<span>$key</span>,<span>$value</span>=<span>''</span>,<span>$path</span>=<span>''</span>)</span>
{</span>
<span>$filename</span>=<span>$this</span>->_dir.<span>$path</span>.<span>$key</span>.<span>self</span>::EXT;
<span>//将value值写入<strong>缓存</strong></span>
<span>if</span>(<span>$value</span>!==<span>''</span>)
{
<span>//如果value值为null</span>
<span>if</span>(is_null(<span>$value</span>))
{
<span>return</span> unlink(<span>$filename</span>);
}
<span>$dir</span>=dirname(<span>$filename</span>);
<span>if</span>(!is_dir(<span>$dir</span>))
{
mkdir(<span>$dir</span>,<span>0777</span>);
}
<span>return</span> file_put_contents(<span>$filename</span>,json_encode(<span>$value</span>));
}
<span>if</span>(!is_file(<span>$filename</span>))
{
<span>return</span> <span>FALSE</span>;
}
<span>else</span>
{
<span>return</span> json_decode(file_get_contents(<span>$filename</span>),<span>true</span>);
}
}
}</span>这里封装了一个类,下面是测试代码
Difeye是一款超轻量级PHP框架,主要特点有: Difeye是一款超轻量级PHP框架,主要特点有: ◆数据库连接做自动主从读写分离配置,适合单机和分布式站点部署; ◆支持Smarty模板机制,可灵活配置第三方缓存组件; ◆完全分离页面和动作,仿C#页面加载自动执行Page_Load入口函数; ◆支持mysql,mongodb等第三方数据库模块,支持读写分离,分布式部署; ◆增加后台管理开发示例
0
<span><span><?php</span>
<span>require_once</span> <span>'./File.php'</span>;
<span>$data</span>=<span>array</span>(
<span>'id'</span>=><span>1</span>,
<span>'name'</span>=><span>'singwa'</span>,
<span>'type'</span>=><span>array</span>(<span>4</span>,<span>5</span>,<span>6</span>),
<span>'test'</span>=><span>array</span>(<span>1</span>,<span>45</span>,<span>67</span>=><span>array</span>(<span>123</span>,<span>'tsysa'</span>)),
);
<span>$file</span>=<span>new</span> File();
<span>//增加<strong>缓存</strong>的方式 这样会将指定的数据放入指定文件夹中</span>
<span>if</span>(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>),<span>$data</span>)
{
var_dump(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>));
<span>echo</span> <span>"success"</span>;
}
<span>else</span>
{
<span>echo</span> <span>"error"</span>;
}
<span>//取出<strong>缓存</strong>的方式</span>
<span>if</span>(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>))
{
var_dump(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>));
<span>echo</span> <span>"success"</span>;
}
<span>else</span>
{
<span>echo</span> <span>"error"</span>;
}
<span>//删除<strong>缓存</strong>的方式</span>
<span>if</span>(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>),<span>$value</span>=<span>null</span>)
{
var_dump(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>));
<span>echo</span> <span>"success"</span>;
}
<span>else</span>
{
<span>echo</span> <span>"error"</span>;
}</span>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号