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

PHP文件缓存类示例分享

殳宸
2023-03-14
本文向大家介绍PHP文件缓存类示例分享,包括了PHP文件缓存类示例分享的使用技巧和注意事项,需要的朋友参考一下


<?php

    /**

     * @desc 文件缓存

     */

    class Cache{

        const C_FILE = '/Runtime/';

        private $dir = '';

        const EXT = '.tpl';

        private $filename = '';

        public function __construct($dir = ''){

            $this->dir = $dir;

        }

        /**

         *    @desc 设置文件缓存

         *    @param string $key 文件名 

         *    @param unkonw $data 缓存数据

         *    @param int    $expire 过期时间

         */

        public function set($key,$data,$expire = 0){

            $this->filename =     dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;

            if(file_exists($this->filename)){

                $res = $this->get($key);

                if(md5($res) == md5(json_encode($data) ) ){

                    return true;

                }

            }

            if(!is_dir(dirname($this->filename))){

                mkdir(dirname($this->filename),0777);

            }

            $source = fopen($this->filename,'w+');

            fwrite($source,json_encode($data));

            fclose($source);

        }

        /**

         *    @desc 获取文件

         *  @param string $key 文件名

         */

        public function get($key){

            //$filename = dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;

            if(!file_exists($this->filename)){

                return '缓存文件已经不存在';

            }else{

                $res = file_get_contents($this->filename);

            }

            return $res;

        }

        /**

         *    @desc 删除文件

         *  @param string $key 文件名

         */

        public function del($key){

            unlink($this->filename);

        }

    }

    $data = array('name'=>'song','age'=>20,'sex'=>'man','favority'=>array('apple','banana'));

    $cache = new Cache();

    $cache->set('cache',$data);

    //$cache->get('cache');

    //$cache->del('cache');

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

  • 本文向大家介绍PHP内存缓存功能memcached示例,包括了PHP内存缓存功能memcached示例的使用技巧和注意事项,需要的朋友参考一下 下文简单介绍了memcached类的应用示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 一、memcached 简介 在很多场合,我们都会听到 memcached 这个名字,但很多同学只是听过,并没有用过或实际了解过,只知道它是一个很不错的东东。

  • 本文向大家介绍常见php数据文件缓存类汇总,包括了常见php数据文件缓存类汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了常见php数据文件缓存类。分享给大家供大家参考。具体分析如下: 数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与数据文件缓存。感兴趣的朋友可以参考一下。 1.对于一般的变量,把该变量变成php

  • 主要内容:Maven依赖关系,HttpClient缓存示例,以下是纠正/补充内容:HttpClient Cache提供了一个与HTTP / 1.1兼容的缓存层,可以与HttpClient一起使用 - Java相当于浏览器缓存。 以下示例使用HttpClient缓存库的。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache HttpClient 4.5版本。 将以下依赖项添加到您的项目中。 pom.xml 文件的内容如下 - HttpClient缓存示例 这

  • 我想我对“Zend Opcache”的实际工作原理有些怀疑,我想知道我应该如何在缓存中只保存通过PHP方法包含的文件?似乎即使不指定所有文件都被缓存,“index.php”也包括在内,这是我不希望的。事实上,我在索引中分配的所有变量不会为每个会话刷新,但我只看到索引的缓存版本。有人能解释一下吗?提前谢谢

  • 按照一般app的设计,都是主应用,和用户目录下的缓存文件,把用户自定义的或使用生成的文件都放到缓存文件目录里。鉴于此,我们来找找code.app的缓存文件,或许能发现点有用的东西 可参照 https://code.visualstudio.com/docs/customization/userandworkspace 理解 缓存目录详情 目录是 /Users/sang/Library/Applic