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

  • 相关阅读:
    npm安装一直报错Error: Cannot find module 'lru-cache'
    vue使用ref获取元素
    WinForm 简易仿360界面控件
    【解决方案】macOS 打开微信视频电话其他应用音量变小问题
    ES服务的搭建(八)
    ES安装
    缓存一致性问题(七)
    多级缓存架构(六)
    掌握SKU和SPU关系及表设计(三)
    架构的搭建(一)
  • 原文地址:https://www.cnblogs.com/KillBugMe/p/13607237.html
Copyright © 2011-2022 走看看