zoukankan      html  css  js  c++  java
  • 缓存加标签

    <?php
    #缓存支持TAG标签实现
    $key="1000";
    $val=array(/*big data*/);
    $tags=array("a","b");
    $tag_prefix="my_tags_key_prefix";
    #设置
    $cval=array(
        $val,
        $tags
    );
    foreach($tags as $v){
    	$tagval=cache_get($tag_prefix.$v);
        if(!is_array($tagval))$tagval=array();
        if(!in_array($key,$tagval))
            array_push($tagval,$key);
    	cache_set($tag_prefix.$v,$tagval);
    }
    cache_set($key,$cval);
    #通过KEY获取数据
    $val=cache_get($key);
    if(!is_array($val))
    	$val=null;
    else{
        list($val,$tags)=$val;
        if(!is_array($tags)){
    		$val=null;
    	}else if(count($tags)>0){
            foreach($tags as $v){          
    			$tagval=cache_get($tag_prefix.$v);
                if(!is_array($tagval)||!in_array($key,$tagval)){
                    cache_delete($key);
                    $val=null;
                    break;
                }              
            }
        }else
    		$val=null;
    }
    #通过TAG获取数据
    $tag="a";
    $tagval=cache_get($tag_prefix.$tag);
    if(!is_array($tagval))$tagval=array();
    $val=array();
    foreach($tagval as $v){
        $sval=cache_get($v);
        if($sval!=null)array_push($val,$sval);
    }
    #通过key删除数据
    cache_delete($key);
    #通过tag删除数据
    $tag="a";
    $tagval=cache_get($tag_prefix.$tag);
    if(!is_array($tagval))$tagval=array();
    foreach($tagval as $v){
        cache_delete($v);
    }
    

      

  • 相关阅读:
    OAuth2、CAS单点登录
    xshell隧道转发的三种类型
    chrome 不再支持iframe 携带cookie 访问第三方站点
    AopContext.currentProxy遇到的坑
    Feign Fallback FallbackFactory 笔记
    前端打包构建工具gulp快速入门
    童思编程前端架构设计
    新派系统Web前端架构
    Scratch3的结构
    Proxy使用详解
  • 原文地址:https://www.cnblogs.com/liushannet/p/5347510.html
Copyright © 2011-2022 走看看