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

    原文:http://www.upwqy.com/details/24.html

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

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

    那样我们就可以根据标签来进行设置,下面我们来测是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
     
  • 相关阅读:
    vue项目学习--2019/5/6
    JAVA注释--2019-04-28
    MyIbatis和Hibernate的区别--2019-04-26
    Thread类和Runnable接口实现多线程--2019-4-18
    Linux文件的扩展名--2019-04-25
    Linux文件名匹配和输出重定向--2019-4-24
    linux学习之命令的排列、替换和别名--2019-04-23
    linux学习--2019-04-22
    操作系统中线程和进程的概念--2019-4-17
    arrayList和vector的区别--2019-4-16
  • 原文地址:https://www.cnblogs.com/wqy415/p/7773665.html
Copyright © 2011-2022 走看看