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

 

 
posted @ 2017-11-02 18:23  yiqiu  阅读(...)  评论(...编辑  收藏