【发布时间】:2011-02-20 04:22:38
【问题描述】:
我想创建一个具有在 HTTP 请求之间持续存在的模型的 Web 应用程序。据我了解,像 PHP 这样的语言将每个 HTTP 请求视为一个全新的连接,除了一些全局变量,如 SESSION;所以每次用户更改页面时,我的所有 PHP 类都会再次加载到内存中(每个 AJAX 请求也会这样做) - 每次都需要我从数据库构建。
我是不是弄错了,还是我想让一个圆适合一个正方形? Memcached 似乎是一个很好的解决方案,可以在页面请求之间将我的模型保存在内存中,但它仍然需要加载缓存。 PHP CLI 似乎很有希望,但在对其进行了更多研究之后,它似乎比它的价值更麻烦。有什么建议吗?
【问题讨论】:
-
http 是无状态协议,php 与否。会话是添加状态的常用方法,但我不确定你真正问的是什么
-
这些答案帮助我找到了我正在寻找的信息。特别是this article on java stateful web apps 完全覆盖了它。 Web sockets 似乎解决了这个问题。 Albatross for Python 是另一个用于有状态 Web 应用程序的框架。
-
与Java、Python、Ruby的区别在于应用程序本身有状态;他们不会像 PHP 一样在每次请求后拆除。如果您认为 Web 套接字是一个不错的选择,Node.js 可能真的是您正在寻找的金票。
-
@coreyward 感谢所有信息,这正是我想知道的。只是为了进一步完善它here,它讨论了 Django 如何使用数据库或 memcached 维护状态,就像 PHP 一样。
标签: php model state persistent-data