”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > Laravel 的新 Cache::flexible()

Laravel 的新 Cache::flexible()

发布于2024-11-08
浏览:681

The new Cache::flexible() of Laravel

每次点击路线时都等待大型数据集进行计算真是太糟糕了!而且用户不想等待,现在每个人的保留时间都很短,所以我们几年前就通过使用缓存修复了这个问题。 Laravel 有一个 Cache Fascad 来帮助我们缓存数据,我们一直在使用 Cache::remember(),这是一个很好的方法来缓存一些数据一段时间直到它们过期。

但在最近的一次活动中,Laravel 宣布了 Cache Fascad 中即将推出的新功能,称为“灵活”。它在后台使用了laravel新的defer()函数。

Cache::flexible() 的工作原理

Cache::flexible() 与我们已经熟悉的 Cache::remember() 非常相似,代码变化很少,但对性能影响很大。与 Cache::remember().
不同,您提供两个时间值而不是 1 如果您传递 5 和 10 作为 Cache::flexible() 的时间范围,那么当用户第一次点击或访问该路线时,用户必须等待这些值被缓存,并且在 5 秒内继续点击路线时那么它只返回与 Cache::remember() 相同的缓存值。但有趣的是,如果用户在 5 到 10 秒的时间范围内(如我们提供的)点击路线,那么 Laravel 仍将在该时间范围内提供第一次访问的缓存值,并启动后台工作程序再次缓存这些值。当用户再次访问该路线时,他会获取刷新数据,但这次无需等待数据被缓存或计算,这与 Cache::remember().

不同。

这对你们中的一些人来说可能很难理解,我建议阅读我在更详细的部分和现实生活中的例子写的这篇文章:https://laraveleco.com/cache-flexible-method-of-laravel /

版本声明 本文转载于:https://dev.to/kachkolasa/the-new-cacheflexible-of-laravel-265k?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 确保整个团队的 Node.js 版本一致
    确保整个团队的 Node.js 版本一致
    .nvmrc 和 package.json 综合指南 在当今动态的开发环境中,跨不同项目管理多个 Node.js 版本通常是一项复杂且容易出错的任务。 Node.js 版本不一致可能会导致许多问题,从意外行为到应用程序完全失败。 利用 .nvmrc 文件进行版本控制 在项目中保持一致...
    编程 发布于2024-11-08
  • 何时在 JavaScript Promise 中使用 Promise.reject 与 Throw?
    何时在 JavaScript Promise 中使用 Promise.reject 与 Throw?
    JavaScript Promise:Reject 与 Throw 之谜使用 JavaScript Promise 时,开发人员经常面临一个困境:他们是否应该使用 Promise .reject 或者只是抛出一个错误?虽然这两种方法具有相似的目的,但关于它们的差异和潜在优势仍然存在混淆。探索相似之处...
    编程 发布于2024-11-08
  • 构建 Chrome 扩展:快速概述
    构建 Chrome 扩展:快速概述
    模组——修改? 如果您喜欢游戏,您就会知道没有什么比玩模组游戏更好的了。这是您最喜欢的游戏,但具有额外的功能、功能和乐趣。现在,想象一下为您的网络浏览体验带来同样的兴奋。这正是浏览器扩展的作用——它们就像浏览器的模组,以您从未想过的方式增强浏览器的功能。 通过 Chrome 扩展程序,您可以调整浏览...
    编程 发布于2024-11-08
  • 如何使用 CSS 设置表格列宽?
    如何使用 CSS 设置表格列宽?
    设置表格列宽表格通常用于呈现表格数据,但调整列宽对于确保可读性和正确性至关重要结盟。在本文中,我们将探讨如何使用 CSS 设置表格列的宽度。使用 CSS 宽度属性的方法表格列的宽度可以使用 col 元素的 width 属性进行设置。宽度值可以以像素为单位指定(例如 width: 200px;),也可...
    编程 发布于2024-11-08
  • 如何从 Python 中的嵌套函数访问非局部变量?
    如何从 Python 中的嵌套函数访问非局部变量?
    访问嵌套函数作用域中的非局部变量在 Python 中,嵌套函数作用域提供对封闭作用域的访问。但是,尝试修改嵌套函数内封闭范围内的变量可能会导致 UnboundLocalError。要解决此问题,您有多种选择:1。使用 'nonlocal' 关键字 (Python 3 ):对于 Pyt...
    编程 发布于2024-11-08
  • 使用 CSS 将渐变应用于文本。
    使用 CSS 将渐变应用于文本。
    文字渐变 现在你可以在很多地方看到像文本渐变这样的好技巧......但是呢?你有没有想过它们是如何制作的?今天就让我来教你吧。 .text-gradient { background: linear-gradient(-25deg, #5662f6 0%, #7fffd4 10...
    编程 发布于2024-11-08
  • 如何在Python中执行自定义区间舍入?
    如何在Python中执行自定义区间舍入?
    Python 中舍入为自定义间隔在 Python 中,内置 round() 函数通常用于对数值进行舍入。然而,它采用以 10 为基数的舍入方案,这可能并不总是适合特定要求。例如,如果您想将数字四舍五入到最接近的 5 倍数,则标准 round() 函数不合适。要解决此问题,可以创建一个自定义函数,将值...
    编程 发布于2024-11-08
  • 项目 注意字符串连接性能
    项目 注意字符串连接性能
    1。使用运算符 ( ) 连接字符串: 使用运算符连接字符串对于少量连接来说很方便,但由于字符串的不变性,在大规模操作时会出现性能问题。 每次创建新字符串时,都会复制所有先前字符串的内容,从而导致大型连接的时间成二次方。 不正确的示例(与 重复连接): public String criaFatura...
    编程 发布于2024-11-08
  • 如何解决 Wamp 服务器中的橙色图标问题:识别服务故障并对其进行故障排除
    如何解决 Wamp 服务器中的橙色图标问题:识别服务故障并对其进行故障排除
    解决 Wamp Server 中顽固的橙色图标在 Web 开发领域,WampServer 图标旁边出现橙色图标可以成为令人沮丧的路障。此持久图标通常表示启动 Apache 或 MySQL 服务失败,使您陷入开发困境。识别罪魁祸首:Apache 或 MySQL?确定哪个服务导致了问题,单击 wampm...
    编程 发布于2024-11-08
  • 网络基础知识
    网络基础知识
    In the world of system design, networks are the glue that binds different components together. Whether you're building a web application, a distribute...
    编程 发布于2024-11-08
  • Python 初学者教程:学习基础知识
    Python 初学者教程:学习基础知识
    欢迎来到Python编程的奇妙世界!如果您是编码新手,请系好安全带,因为 Python 是最简单但最强大的语言之一。无论您是想自动执行繁琐的任务、构建 Web 应用程序还是深入研究数据科学,Python 都是您成功编码的门户。 在本初学者指南中,我们将引导您完成 Python 的基本构建块,确保您准...
    编程 发布于2024-11-08
  • 如何提取MySQL字符串中第三个空格之后的子字符串?
    如何提取MySQL字符串中第三个空格之后的子字符串?
    MySQL:提取字符串中的第三个索引要使用 MySQL 定位字符串中第三个空格的索引,一种方法是利用 SUBSTRING_INDEX 函数。此函数可以提取直到指定分隔符(在本例中为空格字符)的子字符串。要隔离第三个空格,您可以使用两个嵌套的 SUBSTRING_INDEX 调用。内部函数调用检索从字...
    编程 发布于2024-11-08
  • 如果无法访问分配的空间,为什么要为 ArrayList 设置初始大小?
    如果无法访问分配的空间,为什么要为 ArrayList 设置初始大小?
    了解 ArrayList 中的初始大小在 Java 中,ArrayList 是动态数组,可以根据需要增长和缩小。可以使用构造函数 new ArrayList(10) 指定 ArrayList 的初始大小,其中 10 表示所需的容量。但是,设置初始大小并不授予立即访问已分配空间的权限。与传统数组不同,...
    编程 发布于2024-11-08
  • 如何在不改变系统设置的情况下使Python 2.7成为Linux中的默认版本?
    如何在不改变系统设置的情况下使Python 2.7成为Linux中的默认版本?
    Linux 中的默认 Python 版本:选择 Python 2.7在 Linux 系统上运行多个 Python 版本是一种常见的情况。然而,浏览默认版本有时可能会很困难。本文讨论如何在终端上键入“python”命令时将 Python 2.7 设为默认版本。默认 Python 更改的评估更改默认 P...
    编程 发布于2024-11-08
  • 如何根据多个条件对 Go 中具有嵌套切片的结构切片进行排序?
    如何根据多个条件对 Go 中具有嵌套切片的结构切片进行排序?
    使用嵌套切片对结构体切片进行排序在 Go 中,您可以使用内置的排序包对自定义结构体切片进行排序。考虑以下代码,它定义了两个结构体 Parent 和 Child,表示父子关系:type Parent struct { id string children []Child }...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3