当前位置: 首页 > 编程笔记 >

一个简单至极的PHP缓存类代码

曹理
2023-03-14
本文向大家介绍一个简单至极的PHP缓存类代码,包括了一个简单至极的PHP缓存类代码的使用技巧和注意事项,需要的朋友参考一下

网上关于 PHP 缓存类的资料很多,不过这个类应该是我见过功能满足需求,但又无比简洁的一个。废话不多说,直接看代码吧!
使用说明:
1、实例化
$cache = new Cache();
2、设置缓存时间和缓存目录
$cache = new Cache(60, '/any_other_path/');
第一个参数是缓存秒数,第二个参数是缓存路径,根据需要配置。
默认情况下,缓存时间是 3600 秒,缓存目录是 cache/
3、读取缓存
$value = $cache->get('data_key');
4、写入缓存
$value = $cache->put('data_key', 'data_value');
完整实例:

$cache = new Cache(); 
 
//从缓存从读取键值 $key 的数据 
$values = $cache->get($key); 
 
//如果没有缓存数据 
if ($values == false) { 
//insert code here... 
//写入键值 $key 的数据 
$cache->put($key, $values); 
} else { 
//insert code here... 
} 

Cache.class.php

<?php 
class Cache { 
private $cache_path;//path for the cache 
private $cache_expire;//seconds that the cache expires 
 
//cache constructor, optional expiring time and cache path 
public function Cache($exp_time=html" target="_blank">3600,$path="cache/"){ 
$this->cache_expire=$exp_time; 
$this->cache_path=$path; 
} 
 
//returns the filename for the cache 
private function fileName($key){ 
return $this->cache_path.md5($key); 
} 
 
//creates new cache files with the given data, $key== name of the cache, data the info/values to store 
public function put($key, $data){ 
$values = serialize($data); 
$filename = $this->fileName($key); 
$file = fopen($filename, 'w'); 
if ($file){//able to create the file 
fwrite($file, $values); 
fclose($file); 
} 
else return false; 
} 
 
//returns cache for the given key 
public function get($key){ 
$filename = $this->fileName($key); 
if (!file_exists($filename) || !is_readable($filename)){//can't read the cache 
return false; 
} 
if ( time() < (filemtime($filename) + $this->cache_expire) ) {//cache for the key not expired 
$file = fopen($filename, "r");// read data file 
if ($file){//able to open the file 
$data = fread($file, filesize($filename)); 
fclose($file); 
return unserialize($data);//return the values 
} 
else return false; 
} 
else return false;//was expired you need to create new 
} 
} 
?> 

相信大家一定会喜欢这个简洁的php缓存类代码,希望对大家的学习有所帮助。

 类似资料:
  • 本文向大家介绍简单实用的网站PHP缓存类实例,包括了简单实用的网站PHP缓存类实例的使用技巧和注意事项,需要的朋友参考一下 缓存技术在实际使用当中应用非常广泛,可以有效减轻对服务器数据库的访问压力,提高运行速度。目前很多CMS内容管理系统中频繁使用缓存机制来提高系统运行的效率。本文以一个简单实用的缓存类为例,帮助大家参考下缓存的机制与写法。 缓存文件cache.php代码如下: 缓存类的使用:

  • 本文向大家介绍winform简单缓存类实例,包括了winform简单缓存类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了winform简单缓存类。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍PHP分页初探 一个最简单的PHP分页代码的简单实现,包括了PHP分页初探 一个最简单的PHP分页代码的简单实现的使用技巧和注意事项,需要的朋友参考一下 PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项。 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7。PHP分页代码核心就是围绕这条语句展开的,SQL

  • 本文向大家介绍PHP中opcode缓存简单用法分析,包括了PHP中opcode缓存简单用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP中opcode缓存简单用法。分享给大家供大家参考,具体如下: 1.什么是opcode 解释器分析代码之后,生成可以直接运行的中间代码,就称做操作码,opcode 2.解释器与编译器的区别 解释器是生成了中间代码后直接运行中间代码,运行时的控制权

  • 问题内容: 我正在寻找一个简单的Java内存缓存,该内存具有良好的并发性(因此LinkedHashMap不够好),并且可以定期序列化到磁盘。 我需要但很难找到的一个功能是一种“窥视”对象的方法。我的意思是从缓存中检索对象,而不会导致缓存对对象的保留时间超过其应有的保留时间。 更新: 我忽略提到的另一个要求是,我需要能够就地修改缓存的对象(它们包含浮点数组)。 谁能提供任何建议? 问题答案: 自从最

  • 本文向大家介绍简单的pgsql pdo php操作类实现代码,包括了简单的pgsql pdo php操作类实现代码的使用技巧和注意事项,需要的朋友参考一下 核心代码: