我想创建一个具有在 HTTP 请求之间持续存在的模型的 Web 应用程序。据我了解,像 PHP 这样的语言将每个 HTTP 请求视为一个全新的连接,除了一些全局变量(如 SESSION);因此,每次用户更改页面时,我的所有 PHP 类都会再次加载到内存中(每个 AJAX 请求也会执行此操作) - 要求我每次都从数据库构建。
我是错了还是我试图让一个圆适合一个正方形? Memcached 似乎是一个很好的解决方案,可以在页面请求之间将模型保留在内存中,但它仍然需要加载缓存。 PHP CLI 看起来很有前途,但经过更多研究后,发现它带来的麻烦比它值得的还要多。有什么建议么?
您应该避免在 Web 应用程序中要求持久状态; HTTP 是无状态的,您需要围绕它设计业务逻辑。此外,PHP 的内存泄漏问题也不是很安全,因为它不打算充当守护进程或长时间运行。您也不应该维护 PHP 变量中的信息数据库。您可以将昂贵的查询结果缓存在内存缓存中,并以极低的延迟检索它们。
您可以序列化模型,将其存储在会话(或内存缓存)中,并在下一个请求时反序列化,以便将相关变量保持在请求之间的范围内。如果您分享更多有关您的应用程序的具体信息,也许我们可以帮助您找出处理此问题的最佳方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)