Jtti广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php如何实现缓存类代码
  • 306
分享到

php如何实现缓存类代码

php缓存类代码 2016-08-24 10:08:57 306人浏览 绘本
摘要

本文操作环境:windows10系统、PHP 7、thinkpad t480电脑。使用说明:实例化$cache = new Cache();设置缓存时间和缓存目录$cache = new Cache(60, '/any_other_

本文操作环境:windows10系统、PHP 7、thinkpad t480电脑。

使用说明:

实例化

$cache = new Cache();

设置缓存时间和缓存目录

$cache = new Cache(60, '/any_other_path/');

第一个参数是缓存秒数,第二个参数是缓存路径,根据需要配置。
默认情况下,缓存时间是 3600 秒,缓存目录是 cache/

读取缓存

$value = $cache->get('data_key');

写入缓存

$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=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
}
}
?>

--结束END--

本文标题: php如何实现缓存类代码

本文链接: https://www.lsjlt.com/news/393.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP如何实现缓存技术
    这篇文章给大家分享的是有关PHP如何实现缓存技术的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP,一门最近几年兴起的Web设计脚本语言,由于它的强大和可伸缩性,近几年来得到长足的发展,PHP相比传统的ASP网...
    606
    2023-09-27
  • php进程缓存如何实现
    这篇文章主要介绍“php进程缓存如何实现”,在日常操作中,相信很多人在php进程缓存如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php进程缓存如何实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    137
    2023-09-27
  • PHP如何实现web缓存技术
    本篇内容介绍了“PHP如何实现web缓存技术”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Web缓存的概念Web缓存是指将已被访问过或预...
    473
    2023-09-27
  • PHP怎么实现数据缓存类
    这篇文章主要介绍了PHP怎么实现数据缓存类,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。思路是这样的:对于一般的变量,把该变量变成PHP语言的格式,写到文件中,用时只要inc...
    515
    2023-09-27
  • php代码如何实现矩阵
    这篇文章主要介绍php代码如何实现矩阵,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php代码实现矩阵的方法:首先取出行数和列数;然后在外层循环控制圈数;接着通过“j=i;j<col-i;j++;j<; ...
    186
    2023-09-27
  • cdn缓存如何实现
    实现原理:1.作为ICP,需要把域名解释权交给CDN运营商。2.作为CDN运营商,需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录。3.需要进行sortlist时,CDN运营商利...
    344
    2023-09-27
    CDN cdn缓存
  • golang缓存如何实现
    这篇文章主要讲解了“golang缓存如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang缓存如何实现”吧!一、什么是缓存?缓存是一种提高数据读写性能的技术,类比于日常生活中的翻...
    695
    2023-09-27
  • php代码如何实现修改昵称
    这篇文章将为大家详细讲解有关php代码如何实现修改昵称,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php代码实现修改昵称的方法:1、查找图片格式;2、将文件保存在项目所在的服务器;3、获取配置信息;4、...
    103
    2023-09-27
  • php代码如何实现红包功能
    这篇文章主要介绍“php代码如何实现红包功能”,在日常操作中,相信很多人在php代码如何实现红包功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php代码如何实现红包功能”的疑惑有所帮助!接下来,请跟着小编...
    643
    2023-09-27
  • php如何实现点击删除代码
    本篇内容介绍了“php如何实现点击删除代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php实现点击删除代码的方法:1、创建一个PHP示例...
    285
    2023-09-27
  • dw如何实现php代码提示
    这篇文章主要介绍了dw如何实现php代码提示的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇dw如何实现php代码提示文章都会有所收获,下面我们一起来看看吧。dw实现php代码提示的方法:1、打开dreamwea...
    143
    2023-09-27
  • PHP如何实现记录代码运行时间封装类
    这篇文章给大家分享的是有关PHP如何实现记录代码运行时间封装类的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例代码class TimeCost {  pr...
    164
    2023-09-27
    php
  • redis如何实现多级缓存
                                 ...
    377
    2023-09-27
    redis 多级缓存 edi
  • redis如何实现清空缓存
    目录redis如何清空缓存正文Redis缓存问题如何清空我的是免安装版的redisredis如何清空缓存 如果你们的项目用到redis啦,虽然设置了过期时间,但有时候修改bug,仍然需要及时清空缓存,去读数据库的数据,所...
    541
    2023-09-27
    redis清空缓存 清空缓存 redis如何清理缓存
  • Java如何实现双缓存
    小编给大家分享一下Java如何实现双缓存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!import java.awt.*;import jav...
    624
    2023-09-27
  • 用node如何实现缓存
    本文小编为大家详细介绍“用node如何实现缓存”,内容详细,步骤清晰,细节处理妥当,希望这篇“用node如何实现缓存”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。缓存原理浏览器缓存的基本原理是将静态资源(如 CS...
    390
    2023-09-27
  • php如何实现代码自动执行
    本文小编为大家详细介绍“php如何实现代码自动执行”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何实现代码自动执行”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、PHP的自动执行功能PHP提供了多种方...
    710
    2023-09-27
  • nodejs如何使用redis作为缓存介质实现封装缓存类
    小编给大家分享一下nodejs如何使用redis作为缓存介质实现封装缓存类,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下...
    425
    2023-09-27
    nodejs redis
  • SpringCache如何实现请求级别缓存
    这篇文章将为大家详细讲解有关SpringCache如何实现请求级别缓存,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 方案分析 要将数据缓存在一次请求周期内,那我们先...
    584
    2023-09-27
    springcache
  • 利用Java如何实现本地缓存
    本篇文章给大家分享的是有关利用Java如何实现本地缓存,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用场景在 Java 应用中,对于访问频率高,更新少的数据,通常的方案是将这...
    490
    2023-09-27
    java 本地缓存 ava
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作