zoukankan      html  css  js  c++  java
  • 缓存与组

    <?php
    //组数据量小,每个元素包含数据量也小
    //设置单缓存
    $gkey="1000";
    $skey="100";
    $sdata=array(/*max data*/);
    $a=cache_get($gkey);
    $a[$skey]=$sdata;
    cache_set($gkey,$a);
    
    //删除单个缓存
    $gkey="1000";
    $skey="100";
    $a=cache_get($gkey);
    unset($a[$skey]);
    cache_set($gkey,$a);
    
    //获取单个缓存
    $gkey="1000";
    $skey="100";
    $a=cache_get($gkey);
    $val=$a[$skey];
    
    //删除全部缓存
    $gkey="1000";
    cache_delete($gkey);
    ?>
    <?php
    //每个元素包含数据量大,单元素数量不多
    //设置单缓存
    $gkey="1000";
    $skey="100";
    $sdata=array(/*max data*/);
    $temp_key="your prefix".$gkey.uniqid();
    $gval=cache_get($gkey);
    isset($gval[$skey])&&cache_delete($gval[$skey]);
    $gval[$skey]=$temp_key;
    cache_set($gkey,$gval);
    cache_set($temp_key,$sdata);
    
    //获取单个缓存
    $gkey="1000";
    $skey="100";
    $gval=cache_get($gkey);
    $val=isset($gval[$skey])?cache_get($gval[$skey]):null;
    
    //删除单个缓存
    $gkey="1000";
    $skey="100";
    $gval=cache_get($gkey);
    isset($gval[$skey])&&cache_delete($gval[$skey]);
    
    //删除一批缓存
    $gkey="1000";
    $gval=cache_get($gkey);
    is_array($gval)&&foreach($gval as $v)cache_delete($v);
    cache_delete($gkey);
    ?>
    <?php
    //每个元素数据量大,且包含元素量也非常大
    //split_len 推荐值:
    //    1000 => 1
    //    1000 -100000 =>2
    //    100000 以上 => 3
    //设置单缓存
    $gkey="1000";
    $skey="100";
    $split_len=2;
    $sdata=array(/*max data*/);
    $temp_key="your prefix".$gkey.uniqid();
    $gval=cache_get($gkey);
    $rid=substr(md5($skey),0,$split_len);
    if(isset($gval[$rid])){
        $gkey_prefix=$gval[$rid];
        $ggval=cache_get($gkey_prefix);
        isset($ggval[$skey])&&cache_delete($ggval[$skey]);    
        $ggval[$skey]=$temp_key;
        cache_set($gkey_prefix,$ggval);
    }else{
        $gkey_prefix="your gkey prefix".$gkey.uniqid();    
        $gval[$rid]=$gkey_prefix;
        cache_set($gkey,$gval);
        $ggval=array($skey=>$temp_key);
        cache_set($gkey_prefix,$ggval);
    }
    cache_set($temp_key,$sdata);
    //获取单个缓存
    $gkey="1000";
    $skey="100";
    $split_len=2;
    $gval=cache_get($gkey);
    $rid=substr(md5($skey),0,$split_len);
    if(isset($gval[$rid])){
        $ggval=cache_get($gval[$rid]);
        $val=isset($ggval[$skey])?cache_get($ggval[$skey]):null;    
    }else
        $val=null;
    //删除单个缓存
    $gkey="1000";
    $skey="100";
    $split_len=2;
    $gval=cache_get($gkey);
    $rid=substr(md5($skey),0,$split_len);
    if(isset($gval[$rid])){
        $ggval=cache_get($gval[$rid]);
        isset($ggval[$skey])?cache_delete($ggval[$skey]):null;    
    }
    
    //删除一批缓存
    $gkey="1000";
    $gval=cache_get($gkey);
    is_array($gval)&&foreach($gval as $v){
        $ggval=cache_get($v);
        is_array($ggval)&&foreach($ggval as $vv)
            cache_delete($vv);
        cache_delete($v);
    }
    cache_delete($gkey);
    ?>
  • 相关阅读:
    Date
    Math
    封装实参的对象 arguments
    函数方法call()和apply()
    执行上下文栈
    原型(prototype属性)和原型链。 重要!!!
    android studio for Mac快捷键大全
    软件的横竖屏切换
    Android XML文件中@id和@+id的区别
    java中的Iterator<E>
  • 原文地址:https://www.cnblogs.com/liushannet/p/5346547.html
Copyright © 2011-2022 走看看