laravel cache

一、基本操作

Cache::put() 创建缓存(键,值,有效期(单位是秒))
Cache::get() 获取缓存
Cache::add() 只会在缓存项不存在的情况下添加数据到缓存,如果数据被成功返回 true,否则,返回 false
Cache::pull() 从缓存中获取缓存项然后删除,使用 pull 方法,如果缓存项不存在的话返回 null
Cache::forever() 用于持久化存储数据到缓存,这些值必须通过 forget 方法手动从缓存中移除
Cache::forget() 从缓存中移除缓存项数据
Cache::has() 用于判断缓存项是否存在,如果值为 nullfalse 该方法会返回 false

二、基本配置

laravel框架的缓存配置在config/cache.php文件中

1)、配置文件

<?phpuse Illuminate\Support\Str;return [/*|--------------------------------------------------------------------------| Default Cache Store|--------------------------------------------------------------------------|| This option controls the default cache connection that gets used while| using this caching library. This connection is used when another is| not explicitly specified when executing a given caching function.|| Supported: "apc", "array", "database", "file",|            "memcached", "redis", "dynamodb"|*/'default' => env('CACHE_DRIVER', 'file'),/*|--------------------------------------------------------------------------| Cache Stores|--------------------------------------------------------------------------|| Here you may define all of the cache "stores" for your application as| well as their drivers. You may even define multiple stores for the| same cache driver to group types of items stored in your caches.|*/'stores' => ['apc' => ['driver' => 'apc',],'array' => ['driver' => 'array','serialize' => false,],'database' => ['driver' => 'database','table' => 'cache','connection' => null,],'file' => ['driver' => 'file','path' => storage_path('framework/cache/data'),],'memcached' => ['driver' => 'memcached','persistent_id' => env('MEMCACHED_PERSISTENT_ID'),'sasl' => [env('MEMCACHED_USERNAME'),env('MEMCACHED_PASSWORD'),],'options' => [// Memcached::OPT_CONNECT_TIMEOUT => 2000,],'servers' => [['host' => env('MEMCACHED_HOST', '127.0.0.1'),'port' => env('MEMCACHED_PORT', 11211),'weight' => 100,],],],'redis' => ['driver' => 'redis','connection' => 'cache',],'dynamodb' => ['driver' => 'dynamodb','key' => env('AWS_ACCESS_KEY_ID'),'secret' => env('AWS_SECRET_ACCESS_KEY'),'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),'endpoint' => env('DYNAMODB_ENDPOINT'),],],/*|--------------------------------------------------------------------------| Cache Key Prefix|--------------------------------------------------------------------------|| When utilizing a RAM based store such as APC or Memcached, there might| be other applications utilizing the same cache. So, we'll specify a| value to get prefixed to all our keys so we can avoid collisions.|*/'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),];

2)、缓存驱动

file - 将 Session 保存在 framework/cache/data 中。
cookie - Session 保存在安全加密的 Cookie 中。
database - Session 保存在关系型数据库中。
memcached / redis - Sessions 保存在其中一个快速且基于缓存的存储系统中。
array - Sessions 保存在 PHP 数组中,不会被持久化。

三、缓存操作

1)、设置缓存

Cache::put('key', 'value', $minutes);//将不存在于缓存中的数据放入缓存中,如果存放成功返回 true ,否则返回 false
Cache::add('key', 'value', $minutes);//数据永久存入缓存
Cache::forever('key', 'value');//获取users缓存,如果不存在,执行第三个参数,将返回值存入缓存
$value = Cache::remember('userinfo', $minutes, function () {return DB::table('userinfo')->get();
});//获取users缓存,如果不存在,执行第三个参数,将返回值存入缓存并永久储存
$value = Cache::rememberForever('userinfo', function() {return DB::table('userinfo')->get();
});

2)、获取缓存

$value = Cache::get('key')
//传递第二个参数,用来指定如果查找的数据不存在时,你希望返回的默认值
$value = Cache::get('key', 'default');
//第二个参数传递 Closure 作为默认值。如果指定的数据不存在于缓存中,将返回 Closure 的结果
$value = Cache::get('key', function () {return DB::table(...)->get();
});

3)、判断缓存是否存在

//如果值为 null 或 不存在返回false
Cache::has('key')

4)、递增递减

Cache::increment('key');
Cache::increment('key', $num);
Cache::decrement('key');
Cache::decrement('key', $num);

5)、删除

//从缓存中获取到数据之后再删除它,如果缓存中不存在该数据, 则返回 null
$value = Cache::pull('key');
//删除缓存
Cache::forget('key');
//清空缓存
Cache::flush();

6)、使用多种缓存

$value = Cache::store('file')->get('foo');//获取
Cache::store('redis')->put('bar', 'baz', 10);//设置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android在后台读取UVC摄像头的帧数据流并推送

Android在后台读取UVC摄像头的帧数据流并推送 添加UvcCamera依赖库 使用原版的 saki4510t/UVCCamera 在预览过程中断开可能会闪退&#xff0c;这里使用的是 jiangdongguo/AndroidUSBCamera 中修改的版本&#xff0c;下载到本地即可。 https://github.com/jiangdongguo/AndroidU…

Rust学习笔记:基础工具和基本名词

不要用共享内存来通信&#xff0c;要用通信来共享内存 rustup: 一个用于管理 Rust 版本和相关工具的命令行工具 rustup update cargo: Rust 的构建系统和包管理工具 构建代码下载依赖库并构建下载库 crate: 代码包/库 trait: 特性、功能 ///: 生成 html 格式的 doc&#…

CELL文献速递 | 了解微生物如何在社会中传播并塑造我们的健康

谷禾健康 当人还是婴儿时&#xff0c;会从父母那里得到微生物&#xff1b;和宠物玩耍或接触时&#xff0c;也会从宠物那得到微生物&#xff1b;有时候人没有直接和动物玩耍&#xff0c;只是接触动物的粪便&#xff0c;甚至其他环境的微生物&#xff0c;都会交换微生物... 这些其…

智慧治水丨计讯物联水利RTU助推小型水库出险加固工程建设与管理

日前&#xff0c;水利部印发《关于健全小型水库除险加固和运行管护机制的意见》&#xff08;以下简称《意见》&#xff09;&#xff0c;健全小型水库除险加固和运行管护常态化机制&#xff0c;提高小型水库安全管理水平。《意见》提出了“十四五”的两大管理机制&#xff0c;通…

adb下载安装及使用教程

adb下载安装及使用教程 一、ADB的介绍1.ADB是什么&#xff1f;2.内容简介3.ADB常用命令1. ADB查看设备2. ADB安装软件3. ADB卸载软件4. ADB登录设备shell5. ADB从电脑上发送文件到设备6. ADB从设备上下载文件到电脑7. ADB显示帮助信息 4.为什么要用ADB 二、ADB的下载1.Windows版…

Flutter GetX 之 暗黑模式

我们紧接上篇文章,今天继续讲解一下强大的 GetX 的另一个功能,就是 暗黑模式 ,在iOS 13开始苹果的应用慢慢的都开始适配 暗黑模式,andr。oid 也慢慢的 开始跟进,截止到目前,商店的大部分应用都已经完成了 暗黑模式 的适配。 原生开发为我们提供对应的 API,那么Flutter呢…

机器学习相关概念及术语总结

目录 1.机器学习2.监督学习3.无监督学习4.线性回归5.逻辑回归 1.机器学习 机器学习的定义&#xff1a;一个计算机程序可从经验E&#xff08;Experience&#xff09;中学习如何完成任务T&#xff08;Task&#xff09;&#xff0c;并且随着经验E的增加&#xff0c;性能指标P&…

Python中reduce函数和lambda表达式的学习

reduce函数将一个数据集合&#xff08;链表&#xff0c;元组等&#xff09;中的所有数据进行下列操作&#xff1a;用传给 reduce 中的函数 function&#xff08;有两个参数&#xff09;先对集合中的第 1、2 个元素进行操作&#xff0c;得到的结果再与第三个数据用 function 函数…

【论文精读】DINOv2

摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准&#xff0c;这些表示不进行微调&#xff0c;即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变&#xff0c;以探索计算机视…

iSlide插件2024免费版(包含52 个PPT设计辅助功能,9 大在线资源库,以及超 50 万 专业)

一、功能介绍 iSlide是一款专为PowerPoint设计的插件&#xff0c;它集合了众多设计与效率提升的功能&#xff0c;帮助用户更快速、更美观地制作演示文稿。 主题设计&#xff1a;提供多种设计主题&#xff0c;用户只需一键应用&#xff0c;即可为幻灯片赋予统一的视觉风格。智…

每次提出一个bug都让测试重现,描述得那么清楚,自己操作下不会吗?

一说到测试和开发的关系&#xff0c;你一定会想到一个词“冤家”。 开发的工作就是按照PM的设计将产品最终造出来&#xff0c;而测试则是在开发已完成的工作里纠错。so&#xff0c;测试的工作会让开发很不爽&#xff0c;人之常情&#xff0c;谁都不喜欢自己的劳动成果被别人挑…

react路由基础

1.目录 A. 能够说出React路由的作用 B. 能够掌握react-router-dom的基本使用 C. 能够使用编程式导航跳转路由 D. 能够知道React路由的匹配模式 2.目录 A. React路由介绍 B. 路由的基本使用 C. 路由的执行过程 D. 编程式导航 E. 默认路由 F. 匹配模式 3.react路由介绍 现代…

开源项目:图像分类技术在医疗影像分析中的应用与实践

一、引言 在当今快速发展的医疗行业中&#xff0c;数字医疗正逐渐成为提升医疗服务质量和效率的关键力量。本项目旨在通过整合医药电商、远程问诊、慢病管理等多维度服务&#xff0c;为消费者和企业提供全面的医疗解决方案。项目的核心在于运用先进的图像分类技术&#xff0c;以…

回归测试:在不断变化的环境中确保软件的稳定性

软件开发是一个复杂的过程&#xff0c;需要不断变化和更新以满足客户不断变化的需求&#xff0c;但它们也可能产生新问题或导致旧问题重新出现。这就是回归测试的用武之地——它是在不断变化的环境中确保软件稳定性的重要组成部分。 在这篇文章中&#xff0c;我们将深入探讨什…

第40期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

基于springboot + vue实现的前后端分离-在线旅游网站系统(项目 + 论文)

项目介绍 本旅游网站系统采用的数据库是MYSQL &#xff0c;使用 JSP 技术开发&#xff0c;在设计过程中&#xff0c;充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 技术选型 后端: SpringBoot Mybatis 数据库 : MyS…

Qt 使用windows注册表保存设置

重点&#xff1a; 1.在构造函数中初始化&#xff0c;确认注册表中的一个目录 QApplication::setOrganizationName("WWB-Qt");QApplication::setApplicationName("samp7_5"); 只要使用下面语句定义变量setting QSettings setting 表示setting指向注册表目…

UE5 文字游戏(1) 仅UI截图转换为texture2d(适用于window端)

目录 需求 思路 1.截图并读取到本地 2.本地读取图片并转换为纹理2d 效果展示 找了好多的解决办法&#xff0c;都不管用。这个算是折中的。 需求 将当前的用户控件&#xff08;ui&#xff09;截图下来&#xff0c;并赋值到一个texture2d上。 我的需求&#xff1a;文字游戏…

初学JavaWeb开发总结

0 什么是Web开发 Web: 全球广域网&#xff0c;又称万维网(www World Wide Web)&#xff0c;能够通过浏览器访问的网站。 Web开发&#xff0c;就是开发网站的&#xff0c;如&#xff1a;淘宝、京东等等。 1 网站的工作流程 流程&#xff1a; 浏览器先向前端服务器请求前端资…

Cesium 自定义Primitive-线

一、创作思路 1、创建一个自定义CustomPrimitive 2、可动态更新线的点位 3、方便后期绘制线 二、实现代码 1、创建一个CustomPolylinePrimitive类,并加入更新的代码 export default class CustomPolylinePrimitive {constructor(options) {this._props options;/*** 渲染列表…