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

posted @ 2020-09-03 14:13  小猿笔记  阅读(373)  评论(0编辑  收藏  举报