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
 
时间: 2024-10-10 15:09:39

tp5.带标签的缓存 创建和清除 测试的相关文章

django自带cache结合redis创建永久缓存

0916自我总结 django自带cache结合redis创建永久缓存 1.redis库 1.安装redis与可视化操作工具 1.安装redis https://www.runoob.com/redis/redis-install.html 2.可视化操作工具 2.在服务中管理redis服务器的开启关闭 3.命令行简单使用redis -- redis-cli # 启动客户端 -- set key value # 设置值 -- get key # 取出值 4.redis支持 字符串:String

带你走近AngularJS - 创建自定义指令

为什么使用AngularJS 指令? 使用过 AngularJS 的朋友应该最感兴趣的是它的指令.现今市场上的前端框架也只有AngularJS 拥有自定义指令的功能,并且AngularJS 是目前唯一提供Web应用可复用能力的框架. 目前有很多JavaScript 产品提供插件给Web开发人员.例如, Bootstrap 就是当前比较流行的提供样式和JavaScript插件的前端开发工具包.但是开发人员在使用Booostrap中的插件时, 必须切换到JavaScript 模式来写 jQuery

《21个项目玩转深度学习:基于TensorFlow的实践详解》高清带标签PDF版本学习下载

1 写在前面 <21个项目玩转深度学习——基于TensorFlow的实践详解>以实践为导向,深入介绍了深度学习技术和TensorFlow框架编程内容. 通过本书,读者可以训练自己的图像识别模型.进行目标检测和人脸识别.完成一个风格迁移应用,还可以使用神经网络生成图像和文本,进行时间序列预测.搭建机器翻译引擎,训练机器玩游戏.全书共包含21个项目,分为深度卷积网络.RNN网络.深度强化学习三部分.读者可以在自己动手实践的过程中找到学习的乐趣,了解算法和编程框架的细节,让学习深度学习算法和Tens

带标签的 break 和 continue (Java)

2002年12月发于 CCW-I2006年9月搬至 CSDN,略作修改 Java 中有 goto 关键字,但这个关键字没有任何作用,换句话说,我们不能使用 goto 来进行跳转到某行.实际上,结构化程序设计完全不需要 goto 语句即可完成各种流程,而 goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转. Java 中同样可以定义标签,使用标识符加冒号 (:) 的形式,如"mylabel:".不过既然 Java 中的 goto 没有实质性的作用,标签的

JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)

JSTL JSTL简单介绍: JSTL的全称:JSP Standard Tag Library.JSP标准标签库 JSTL的作用: 提供给Java Web开发者一个标准通用的标签函数库 和EL来代替传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序可读性.维护性和方便性 JSTL的版本号: JSTL的主要版本号是1.0.1.1和1.2(差别不大) 1.0版本号EL表达式还没有纳入官方规范 1.1和1.2版本号EL表达式已经纳入了官方规范 JSTL1.1 下载对应的jar包

SDWebimage如何获取缓存大小以及清除缓存

sdwebimage如何获取缓存大小以及清除缓存 1.找到SDImageCache类 2.添加如下方法: - (float)checkTmpSize {    float totalSize = 0;    NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath];    for (NSString *fileName in fileEnumera

Android开发记录20-获取缓存大小和清除缓存功能

Android开发记录20-获取缓存大小和清除缓存功能 转载请注明:IT_xiao小巫 博客地址:http://blog.csdn.net/wwj_748 前言 本篇博客要给大家分享的如何获取应用缓存的大小和清除缓存的功能,我们知道我们应用当中经常会产生一些数据,比如图片的缓存,数据库文件,配置文件等等.我们开发产品的时候,可能会有这样的一个需求清除应用内缓存的数据,可以让用户选择删除应用内产生的数据,这也是比较人性化的设计点.例如笔者参与开发的一款产品的设置界面就提供了清除缓存的功能,如下图所

使用Eclipse自带的Maven插件创建Web项目时报错:

问题描述: 使用Eclipse自带的Maven插件创建Web项目时报错: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of the configured repositories. Could not resolve artifact org.apache.maven.archetypes:maven-archetype-webapp:pom:REL

Android记录20-获取缓存大小和清除缓存功能

Android开发记录20-获取缓存大小和清除缓存功能 转载请注明:IT_xiao小巫 博客地址:http://blog.csdn.net/wwj_748 前言 本篇博客要给大家分享的如何获取应用缓存的大小和清除缓存的功能,我们知道我们应用当中经常会产生一些数据,比如图片的缓存,数据库文件,配置文件等等.我们开发产品的时候,可能会有这样的一个需求清除应用内缓存的数据,可以让用户选择删除应用内产生的数据,这也是比较人性化的设计点.例如笔者参与开发的一款产品的设置界面就提供了清除缓存的功能,如下图所