PHP利用Filesystem函数实现操作缓存(生成,获取,删除操作)

 1 <?php
 2    class File{
 3        //$key 相当于缓存文件的文件名
 4        //$value 缓存数据
 5        private $_dir;//定义默认路径
 6        const EXT=‘.txt‘;
 7        public function __construct(){
 8              $this->_dir=dirname(__FILE__).‘/files/‘;
 9          }
10        public function cacheData($key,$value="",$path=""){
11          $filename=$this->_dir .$path .$key .self::EXT;
12          if($value!==""){//将$value值写入缓存
13              if(is_null($value)){
14                  return @unlink($filename);//删除缓存,@屏蔽错误信息的输出的作用
15              }
16              $dir=dirname($filename);
17              if(!is_dir($dir)){
18                  mkdir($dir,0777);
19              }
20         return file_put_contents($filename,json_encode($value));
21          }
22          //获取缓存
23          if(!is_file($filename)){
24              return false;
25          }else{
26             return json_decode(file_get_contents($filename),true);
27          }
28        }
29    }
30 ?>
<?php
    require_once("file.php");
    $data=array(
        ‘id‘=>1,
        ‘name‘=>‘新浪‘,
         ‘type‘=>array(4,5,6),
         ‘test‘=>array(1,45,67=>array(123,‘tsysa‘),),
    );
    $file=new File();
    //index_mk_cache 为缓存文件名
    //$data 为缓存数据
    if($file->cacheData(‘index_mk_cache‘,$data)){//当$data换为null时,实现输出缓存文件的效果
        echo "success";
    }else{
        echo"error";
    }
?>
时间: 2024-10-22 00:33:54

PHP利用Filesystem函数实现操作缓存(生成,获取,删除操作)的相关文章

利用lambda函数自动创建EBS快照和删除快照

利用lambda函数自动创建EBS快照和删除快照 此文章参考了AWS中国区关于构建自动化EBS快照周期的官方文档,参考链接"https://amazonaws-china.com/cn/blogs/china/construct-ebs-life-circle-management/" 本文与之不同的是,本文没有使用dynamoDB服务,仅通过lambda完成了EBS的快照备份.当然,自动快照一定要搭配自动删除功能使用,否则快照容量越来越大,无形中增加了企业的IT成本. 使用阿里云和腾

利用NtQuerySystemInformation函数遍历进程,遍历线程,获取线程挂起或运行状态

版权声明:专注于计算机网络安全学习 https://blog.csdn.net/u011672712/article/details/51586030 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

PA30时间事件获取+删除操作

*&---------------------------------------------------------------------* *& Report  ZHR16012 *&                  huangjm 2016.12.19 *&---------------------------------------------------------------------* *& *& *&--------------

二叉搜索树的建立、查找、删除等相关操作实现及对于删除操作的详细解释

前记,最近开始了保研准备,故记录一下复习过程. 这次就对二叉树做一下实现. 在以下操作中,稍复杂的应该是删除,本想采用递归的方式构造删除函数,奈何最后还是按照自己的想法写了,本博客将对我的实现稍作描述,如有错误请指正,实现的方法中肯定也有很多累赘之处,也请多多指出. 首先将所有的情况分为三种: 被删除的节点没有儿子节点,对应(1). 被删除的节点有一个儿子节点,此时只需要将儿子节点上移至原有的节点处,对应(2). 被删除的节点有两个儿子节点,此时可以选择左子树的最大值或者右子树的最小值对应的节点

ASP.NET MVC3 实例(六) 增加、修改和删除操作(二)

http://www.jquery001.com/asp.net-mvc3-instance-add-update-delete2.html 上篇我们在 ASP.NET MVC3 中实现了添加操作,由于时间关系没有完成修改.删除操作,我们新建了一个名为"Contact"的 Controller,并实现了添加方法,下边就让我们在此基础上来完成 ASP.NET MVC3 中的修改和删除操作. 首先,我们在 Contact 控制器类中添加一个名为 View()的方法,用来从 Contact

Oracle基本语法&amp;&amp;函数&amp;&amp;子查询&amp;&amp;分页查询&amp;&amp;排序&amp;&amp;集合操作&amp;&amp;高级分组函数

一.  数据库 手工---文件管理---数据库 DB:Database 数据库. DBMS:管理数据库的软件.(oracle) 主流关系数据库: 1.      Oracle 2.      DB2 3.      SQL Server 基本没人使 4.      MySQL  基本没人用,免费 Linux 开源,可以发现漏洞补上 Windows服务器会有补丁,数据易泄漏 eclipse 日食 数据表(Table): 表的行(Row):记录 表的列(Column):字段 二.  关系型数据库 一

利用钩子函数来捕捉键盘响应的windows应用程序

一:引言: 你也许一直对金山词霸的屏幕抓词的实现原理感到困惑,你也许希望将你的键盘,鼠标的活动适时的记录下来,甚至你想知道木马在windows操作系统是怎样进行木马dll的加载的…..其实这些都是用到了windows的钩子函数.因此本文将对钩子函数的相关知识进行阐述.当然,本文的目的并不是想通过此程序让读者去窃取别人的密码,只是由于钩子函数在windows系统中是一个非常重要的系统接口函数,所以想和大家共同的探讨,当然本文也对怎样建立动态连结库(DLL)作了一些简单的描述.(本文的程序为vc6.

AVL树的初步生成与插入操作

平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树.构造与调整方法 平衡二叉树的常用算法有红黑树.AVL.Treap等. 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,可以参考Fibonacci数列,1是根节点,F(n-1)是左子树的节点数量,F(n-2)是右子树的节点数量. AVL是最先发明的

SQL Server 利用批量(batchsize)提交加快数据生成/导入

在最小化日志操作解析,应用的文章中有朋友反映生成测试数据较慢.在此跟大家分享一个简单的应用,在生成数据过程中采用批量提交的方式以加快数据导入. 此应用不光生成测试数据上,在BCP导入数据中,复制初始化快照过程中等都可以根据系统环境调整 batchSize 的大小来提高导入/初始化速度. 应用思想:这里简单介绍下组提交概念,由于关系型数据库依靠日志来保证数据完整性,即先写日志,每当一个事务完成时就需要commit日志刷入磁盘,在高并发短小事务的前提下由于日志频繁落盘导致整体写吞吐下降.用Group