无需维护式php文件式缓存后台管理实现

原理,利用php的类可以根据类对象直接列出全部的本类中method能力,配合在缓存中存放缓存名称(给人看的,如果你不想只能看到方法名);

把所有的缓存更新方法写到一个类中;

保存cache时使用如下格式

<?php

return array(

 'name'=>'xxx的缓存',

 'time'=>缓存生成时间,

'life_sec'=>缓存过期(秒,-1无过期,0无缓存,其它)

'data'=>缓存数据反编码成php代码

);

 

管理php编写

 

  case 'flush'://更新对应的缓存
    if (empty($method)){
      alert('方法参数有误');
    }
    
    if (!method_exists ( $cache_obj, $method)){
      alert($method. '方法不存在');
    }
        
    $cache_obj->$method();
    alert('已更新缓存为现在最新数据', 'cache.php?action=view');
    break;
    case 'view'://从缓存类中,取出所有的缓存名称/生成时间/生成方法
    $methods = get_class_methods(get_class($cache_obj));

    foreach($methods as $method){
      $cache_return = importCache($method, false);
      $data[] = '<a href="cache.php?action=flush&method=' .$method. '">更新 ' .$cache_return['name']. '</a>';
      $data[] = '生成时间:' .date_ymdt($cache_return['time']);
        }
        
        $smarty->assign('title','缓存更新时间');
        $smarty->assign('data',$data);
        $smarty->display('cache.html');
    break;

 

 

生成的管理列表会是

 

更新 xxx缓存  生成时间:xxxxxx

 

点击更新 xxx缓存即可再次更新缓存

而无需写一个缓存,再写一次更新的调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值