HTTP 请求之间具有持久状态的模型

2024-01-10

我想创建一个具有在 HTTP 请求之间持续存在的模型的 Web 应用程序。据我了解,像 PHP 这样的语言将每个 HTTP 请求视为一个全新的连接,除了一些全局变量(如 SESSION);因此,每次用户更改页面时,我的所有 PHP 类都会再次加载到内存中(每个 AJAX 请求也会执行此操作) - 要求我每次都从数据库构建。

我是错了还是我试图让一个圆适合一个正方形? Memcached 似乎是一个很好的解决方案,可以在页面请求之间将模型保留在内存中,但它仍然需要加载缓存。 PHP CLI 看起来很有前途,但经过更多研究后,发现它带来的麻烦比它值得的还要多。有什么建议么?


您应该避免在 Web 应用程序中要求持久状态; HTTP 是无状态的,您需要围绕它设计业务逻辑。此外,PHP 的内存泄漏问题也不是很安全,因为它不打算充当守护进程或长时间运行。您也不应该维护 PHP 变量中的信息数据库。您可以将昂贵的查询结果缓存在内存缓存中,并以极低的延迟检索它们。

您可以序列化模型,将其存储在会话(或内存缓存)中,并在下一个请求时反序列化,以便将相关变量保持在请求之间的范围内。如果您分享更多有关您的应用程序的具体信息,也许我们可以帮助您找出处理此问题的最佳方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP 请求之间具有持久状态的模型 的相关文章

  • 如何使用 PHP 对字符串进行 rot13 处理?

    我有一个很大的 php 代码 我想手动对其进行编码和解码 我的问题是 php 代码里面有很多单引号和双引号 因此我在使用时出现错误str rot13 功能如下 那么正确的语法是什么以及如何使用下面的函数进行编码 str rot13 That
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • 在 foreach 中使用 QueryPath 的多个查找

    我正在使用 QueryPath 和 PHP 这发现 eventdate 没问题 但不会为 dtstart 返回任何内容 qp htmlqp url foreach qp gt find table schedule gt find tr a
  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • PHP 编码风格回归;在开关/外壳中

    我们正在尝试为我们的团队实施新的编码风格指南 当未找到 break 时 php codeniffer 会在 switch case 语句上打印警告 如下所示 switch foo case 1 return 1 case 2 return
  • 从 Laravel 4 输入生成新数组

    我使用 Input all 从动态生成的表单中获取一些输入 我使用 jQuery 来允许用户添加字段 字段名称为 first names last names 和 emails input 变量现在看起来像这样 array size 4 t
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 矩形超出边界是什么意思

    PPB Graphics2D PaintImageData 矩形超出界限是什么意思 我几乎在我检查的每一段代码中都看到了它 最新的代码是 define my consumer key define my consumer secret oa
  • 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

    我用 PHP 创建了一个动态 PNG 图片 为了使用 PNG 扩展名 我创建了一个包含以下内容的 htaccess 文件 AddType application x httpd php png 在我的本地 XAMPP 服务器上 一切工作正常

随机推荐

  • 媒体源 Api 不适用于自定义 webm 文件(Chrome 版本 23.0.1271.97 m)

    我指的是对此给出的媒体源 api 演示link http html5 demos appspot com static media source html 它对于给定的测试 webm 文件工作正常 但是当我尝试将文件名更改为自定义 webm
  • 如何调试 spring 集成

    我们对 spring 集成非常满意 除非事情没有按预期工作 那么真的很难找出到底发生了什么 我们使用的是xml配置 有人可以向我指出 spring 集成组件背后的 java 组件以便调试它们 例如 如果我有一个 headerValueRou
  • 我应该如何随机生成异常值?

    我正在生成一个随机数据集 我的数据集是连续的 并且有上限和下限 在某些随机点 我希望我的数据集具有高于和低于限制的异常值 这是我的代码 generated data 12 np random rand 100 630 outlier dat
  • 由不受信任的机构颁发的证书链

    我正在使用curl 终端并发出以下命令 curl anyauth user admin admin https localhost 8000 LATEST search q caesar 我收到以下警报 curl 77 schannel 下
  • Python JSONDecoder 自定义转译null类型

    在 python 中 JSONDecoder 默认将 null 转换为 None 如下所示 我怎样才能将 null gt None 的翻译更改为不同的内容 即 null gt 猫 class json JSONDecoder encodin
  • BigQuery 中的查询命中和自定义维度?

    我正在 BigQuery 中处理 GoogleAnalytics 数据 我想输出 2 列 特定事件操作 点击 和自定义维度 基于会话 所有这一切 都使用标准 SQL 我不知道如何正确地做到这一点 文档也没有帮助 请帮我 这就是我正在尝试的
  • 最长正和子串

    我想知道如何获得序列中最长的正和子序列 例如 我有 6 3 4 4 5 所以最长的正子序列是 3 4 4 事实上 总和是正数 3 我们不能添加 6 和 5 否则它会变成消极的 它可以很容易地在 O N 2 中解决 我认为可能存在更快的东西
  • 为什么我的 Ansible 脚本不使用其最顶层目录归档文件?

    我正在编写一个 Ansible 脚本来根据文件类型 创建前的天数等来归档文件 及其目录结构 为了选择文件类型 我正在使用find命令 然后将所有文件放入列表中 使用set fact模块 之后 我将此列表提供给存档模块archive 但我的问
  • 用数组重载运算符

    我有这个单位 unit Main TIns interface type TIns record private type TInsArray array 0 90 of Integer var FInsArray TInsArray pu
  • URI 中的 HTML 字符出现 WebClient.DownloadFile 404 错误?

    我正在使用 WebClient 类从网站下载文件 但有几个问题 当 URI 的 URI 路径中包含 HTML 字符时 例如http foo com path1 http foo com path1 amp path2 pdf 我收到 404
  • Heroku Repo 大小和 Slug 大小随着每次部署而增加。为什么?

    我更改了应用程序中的一些文本并使用以下命令部署新版本 git push heroku master 但每次我推动时 它都会增加很多 我在这里写下每次部署后的增量 168 2 KB 37 9 MB 178 6 KB 38 7 MB 187 K
  • 如何检查哪些优惠券适用于 WooCommerce 中的哪些产品?

    由于我们可以为订单中的每个产品应用不同的优惠券 有什么方法可以知道哪些优惠券适用于哪些产品 我用过 order gt get used coupons 函数 但它只返回使用过的优惠券代码 请帮忙解决 谢谢 2016 年 6 月为 Wooco
  • Python中有标签/goto吗?

    有没有goto或者 Python 中的任何等效项能够跳转到特定的代码行 不 Python 不支持标签和 goto 它是一种 高度 结构化的编程语言
  • 如何使用 OkHttp/Retrofit 重试 HTTP 请求?

    我在我的 Android 项目中使用 Retrofit OkHttp 1 6 我没有找到任何内置的请求重试机制 在搜索更多内容时 我读到 OkHttp 似乎有静默重试 我没有看到我的任何连接 HTTP 或 HTTPS 上发生这种情况 如何使
  • 如何使水平ScrollView的内容水平居中?

    我有一个水平 ScrollView 其中有一个 HStack 如下所示 ScrollView horizontal HStack Circle frame width 60 height 60 使用此代码 HStack 的内容与屏幕左侧对齐
  • 使用 preg_match 从字符串中获取数字[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个字符串 div 我只想使用此
  • Xstream 映射 XML 的“选择”元素

    我需要使用 XStream 将受 XSD 约束的 XML 映射到 Java 对象 XSD 有 4 个复杂类型元素 它们是 选择 元素 即这 4 个元素之一可以出现在根标记下的 XML 中 我一直在研究 XStream 但在我看来 要映射这样
  • Eclipse - 动态 Web 项目未拾取 jsp 中的更改或

    我正在使用 运行方式 gt 在服务器上运行 在本地 tomcat 实例上运行我的 Web 项目 问题是 当我对 JSP 和其他项目组件进行更改时 Eclipse 有时会选择此更改 有时则不会 看起来有点随机 这可能是由于多种原因造成的 在不
  • 如何将视图叠加到 CVImageBuffer 内的每个捕获的帧上,实时而不是后期处理

    我已经成功设置了一个基本的AVCaptureSession它通过使用录制视频并将其保存在设备上AVCaptureFileOutputRecordingDelegate 我一直在搜索文档以了解如何在正在录制的视频之上添加统计信息叠加 i e
  • HTTP 请求之间具有持久状态的模型

    我想创建一个具有在 HTTP 请求之间持续存在的模型的 Web 应用程序 据我了解 像 PHP 这样的语言将每个 HTTP 请求视为一个全新的连接 除了一些全局变量 如 SESSION 因此 每次用户更改页面时 我的所有 PHP 类都会再次