zoukankan      html  css  js  c++  java
  • tp5带标签的缓存创建和清除测试【转】

    测试设置了标签的缓存的获取方式 和清除标签缓存。

    有时候我们可能会对同类型的一些数据做统一缓存。和统一清除更新处理。

    那样我们就可以根据标签来进行设置,下面我们来测是tp5的缓存标签的使用

    **首先是设置带标签的缓存 **

    Cache::tag($tag)->set($key,$map,10);
    

    获取带标签的缓存值****、

    这里。我测试了发现 在获取时 无论是否标注标签 都能获取缓存值。

    也就是说下面两种方式都可以获取到

    Cache::get($key)
    Cache::tag($tag)->get($key)
    

    然后我们开始清除 带标签的缓存值

    Cache::clear($tag);
    

    清除了以后 发现 设置了标签的缓存已经没有值了。没有设置标签的 缓存值还在

    所以,这里我得出了总结

    设置缓存标签 只是给缓存设置了一个头衔。而key值 才是缓存的唯一标志。
    清除带缓存的标签 相当于是根据标签 找到这个标签下的缓存。然后清除他们的key对应的值

    以下是测试数据

    $tag = 'test';
    
    $key = 'test';
    $key_1 = 'test_1';
    $map = [
        'name'=>'wang'
    ];
    $map_1 = [
        'age'=>17
    ];
    Cache::tag($tag)->set($key,$map,10);
    
    Cache::set($key_1,$map_1,10);
    
    
    dump(Cache::get($key));
    dump(Cache::tag($tag)->get($key));
    
    dump(Cache::get($key_1));
    dump(Cache::tag($tag)->get($key_1));
    
    Cache::clear($tag);
    
    dump(Cache::get($key));
    dump(Cache::tag($tag)->get($key));
    
    dump(Cache::get($key_1));
    dump(Cache::tag($tag)->get($key_1));
    

    返回的结果是

    array (size=1)
      'name' => string 'wang' (length=4)
    array (size=1)
      'name' => string 'wang' (length=4)
    array (size=1)
      'age' => int 17
    array (size=1)
      'age' => int 17
    //清除标签以后的缓存数据。
    boolean false
    boolean false
    array (size=1)
      'age' => int 17
    array (size=1)
      'age' => int 17
    

    来源:http://www.upwqy.com/details/24.html

  • 相关阅读:
    ASP.NET 2.0 中改进的缓存功能
    Python 一门神奇的语言
    showModalDialog()、showModelessDialog()方法使用详解
    在VS2005中 GridView导入Excel的两点小技巧附源码
    DVB码流中业务信息与电子节目指南
    js 日历控件
    js收藏
    什么是ECM,EMM,AU,EMU?
    精解PSISI(一)
    Oracle第四课(学习笔记)
  • 原文地址:https://www.cnblogs.com/KillBugMe/p/13607237.html
Copyright © 2011-2022 走看看