• 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

  • 相关阅读:
    JS和C# 里的闭包及闭包在事件中的使用
    ***项目开发记录
    七牛云存储之应用视频上传系统开心得
    二维码及二维码接合短URL的应用
    EF批量添加,删除,修改的扩展
    ngTemplateOutlet递归的问题
    每日新知2019-06-03
    Spring boot初始
    纯前端播放本地音乐
    macbook 安装任意来源
  • 原文地址:https://www.cnblogs.com/KillBugMe/p/13607237.html
Copyright © 2020-2023  润新知