通过客户端cookie玩框架会话

| 在我的应用程序中,我想将大量数据保留在特定于当前在用户特定会话中访问我的Web应用程序的用户的内存中。据我所知,play框架使用cookie来存储会话数据,其限制为4k。如何获得更大的会话数据? ehacache内存缓存在这里有帮助吗?该会话具有自用户上一次活动起的到期时间。     
已邀请:
        如果会话数据是可缓存的,最好将其保留在缓存中,并以键作为用户ID,并在用户注销时将其清除。从相关的数据库更新/删除数据库中重新加载它。将内容保留在像memcache这样的外部缓存中,将有助于您很好地扩展,并使您可以从长远来看转移到分布式缓存(如果需要)。在“无共享”上查看此有趣的文章。     
        Play的想法是消除会话的需要以及将大量信息保留在内存中。内存中方法的问题是,您将用户绑定到保存数据的特定服务器,而“无共享共享”方法意味着您可以轻松地水平扩展,而不必担心粘性会话等问题。 您有的选择是  -将临时数据存储在临时数据库中,该数据库可以通过userId或用户会话的其他唯一标识符访问。该数据库将等同于服务器端会话。  -使用缓存。但是,缓存的想法是,如果信息不在缓存中,则可以从数据库(或其他来源)检索该信息。缓存不必保证数据将可用。如果在内存高速缓存(例如ehcache)中,如果有一组负载平衡的服务器,则可能无法保证所有记录都返回到同一服务器,因此高速缓存中的数据可能不可用。特定会话的所有服务器。 您问题的答案取决于您的用例,但我认为根据您提供的信息,数据库是您的最佳方法。     

要回复问题请先登录注册