9
使用Play 1.0,我们使用session.getId()方法来检索唯一的会话标识。Play 2.0中的session.id在哪里?
这个id很方便在全局缓存中为密钥添加前缀。
Play 2.0 session.id等值于何处?
使用Play 1.0,我们使用session.getId()方法来检索唯一的会话标识。Play 2.0中的session.id在哪里?
这个id很方便在全局缓存中为密钥添加前缀。
Play 2.0 session.id等值于何处?
由于会话数据存储为cookie,因此不会再有会话ID与播放2.0。事实上,不需要标识令牌,会话数据只是随着每个请求离开服务器完全无状态而传递。
但是,如果您需要将每个用户的数据存储在全局缓存中,您可能仍然需要一个id。 为此,使用下面
// Generate a unique id
String uuid=session("uuid");
if(uuid==null) {
uuid=java.util.UUID.randomUUID().toString();
session("uuid", uuid);
}
会话ID的代码?它听起来非常适合Java EE ......
如何控制全局缓存中对象的生命周期?您配置TTL和其他到期参数? – 2012-02-23 19:43:55
生命周期取决于缓存实现。我不知道细节,如果我记得EHCache使用WeakReferences,当JVM需要内存时它会被清除。 EHCache是缓存最好的API之一,我相信他们支持到期设置。 – 2012-02-23 19:53:07
好的,但Play 2.0中有什么根本不同/更好?会话(一般来说)只是一个具有特定生命周期的商店。 “国家麻烦”是由实施细节引起的。 – 2012-02-23 20:21:58