如果我理解正确,Play Framework使用cookie来存储整个会话,而PHP只是在Cookie中存储Session-ID并将真实会话本身保存在服务器端。
Play Framework通过其方法提升了良好的横向可扩展性。但是我没有看到优势,如果我使用任何其他框架并将我的会话保存到数据库中,例如使用Symfony和Redis。
那么Play Framework如何更好(对于某些用例)?
答案 0 :(得分:1)
Play的架构背后的最初想法是,设计师希望它是无状态的,即。服务器端的请求之间没有维护数据 - 这就是为什么它不遵循servlet规范。这提供了灵活性,如您所提到的可扩展性 - 如果您的应用程序足够大以至于需要跨多台计算机进行扩展,这本身就是一个很大的优势 - 在集群中管理服务器端会话数据是一件痛苦的事情
但是,当然,除了一个简单的应用程序之外,还需要维护一些会话数据,正如您自己提到的那样,您通常会使用缓存或数据库来执行此操作。 Cookie会话播放使用限制在4K左右,因此仅适用于相对少量的数据。
无状态架构的好处是多方面的,也是Play的架构旨在利用的。
有点过时,但相关性仍适用于此article。