资讯专栏INFORMATION COLUMN

简单的文件缓存函数

whinc / 3234人阅读

摘要:前几天一个很古老的网站突然要加微信分享功能。无法缓存微信接口的。缓存文件存在且时间不超过一小时,则直接使用缓存的结果集,不在进行任何的查询了使用缓存中的结果设置缓存读取缓存,清空缓存有一点不知道是否合理,就是当我清空缓存的时候。

前几天一个很古老的网站突然要加微信分享功能。无奈cms太过古老。无法缓存微信接口的AccessToken。存数据库觉得得不偿失。加redis 觉得还不如存数据库(还需要 给线上服务器装redis服务,觉得范不上)。只好写道文件里。

function setCache($cache_key,$data=false,$time=3600){
    //缓存文件存在且时间不超过一小时,则直接使用缓存的结果集,不在进行任何的MySQL查询了
    $cachFile = $_SERVER["DOCUMENT_ROOT"]."/Data/".$cache_key.".php";
    if($data || $data!==false||$data===NULL){
        $data = json_encode($data);
        file_put_contents($cachFile, $data);
    }else{
        if(file_exists($cachFile) && time()-filemtime($cachFile) < $time) {
            //使用缓存中的结果
            $json = file_get_contents($cachFile);
            if($json=="null"){
                return false;
            }
            return json_decode($json,true);
        }
        return false;
    }
    return false;
}

setCache("key","mycache");//设置缓存

echo setCache("key"); //读取缓存
setCache("key",null);//清空缓存

有一点不知道是否合理,就是当我清空缓存的时候。是否有必要取把这个缓存文件删掉。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22842.html

相关文章

  • 北哥大话Yii2缓存机制 - File缓存

    摘要:讲的好长作为北哥大话缓存机制第一篇,希望大家喜欢,为了一段日子里我会专注于分享的缓存机制。 有的兄弟一定会说,File缓存有什么好讲的那?不就是一个set,然后在一个get么?那你知道的只是皮毛~ 的确如大家所说,缓存从表现层看就是一个set(放数据),然后再一个get(拿数据),但是请记住,这样是不够的,如果你不了解每个缓存的实现原理、存储特点等等,你是无法使用对场景的,什么时候用F...

    cnTomato 评论0 收藏0
  • PWA之Workbox缓存策略分析

    摘要:最后用把缓存的路径凭证信息存在中。缓存策略现在来看看提供的缓存策略,主要有这几种。自定义缓存配置回到在缓存策略里提到的,讲讲和缓存策略的参数。 作者:陈达孚 香港中文大学研究生,《移动Web前端高效开发实战》作者之一,《前端开发者指南2017》译者之一,在中国前端开发者大会,中生代技术大会等技术会议发表过主题演讲, 专注于新技术的调研和使用. 本文为原创文章,转载请注明作者及出处 ...

    lewif 评论0 收藏0
  • 图片加载框架之UIL

    摘要:加载并显示图片或加载并执行回调接口。加载图片主要分为三类接口表示异步加载并显示图片到对应的上。以上三类接口最终都会调用到这个函数进行图片加载。不允许访问网络的图片下载器。创建图片下载器,返回一个。 1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的、可高度定制的图片缓存,本文简...

    lentrue 评论0 收藏0

发表评论

0条评论

whinc

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<