游戏框架 2.2.6。默认缓存过期
PlayFramework 2.2.6. Default cache expiration
我想将 Java 对象存储在用户会话的缓存中。我想知道什么是默认缓存存储超时。
我的用户在早上 8 点登录,我会将他的用户对象存储在缓存中。它会保留 f.e 吗?用户退出前 10 小时? play 2.2.6 缓存执行默认会存数据10小时吗?
我不想在 cookie 中保留太多用户数据,因为用户可以从网络浏览器看到它的内容。
这是我基于的文档:
https://www.playframework.com/documentation/2.2.x/JavaCache
但是没有任何消息。
下面是我的缓存相关方法:
public static Object getCacheValue(String key) {
return Cache.get(getSessionValue("id") + "_" + key);
}
public static void setCacheValue(String key, Object value) {
Cache.set(getSessionValue("id") + "_" + key, value);
}
public static void removeCacheValue(String key) {
Cache.remove(getSessionValue("id") + "_" + key);
}
以下是我的session相关方法:
public static String getSessionValue(String key) {
return session().get(key);
}
public static void setSessionValue(String key, String value) {
session(key, value);
}
您可以选择指定缓存的过期时间 - 以秒为单位 (https://www.playframework.com/documentation/2.2.x/JavaCache)。如果不这样做,则默认值为 0,这意味着数据将永远(无限期)保留在缓存中:
当然因为这只是一个缓存,所以你不能真的依赖"forever"。永远记住缓存就是缓存,你的数据可能会消失——你必须有一个备份策略来检索它。
我想将 Java 对象存储在用户会话的缓存中。我想知道什么是默认缓存存储超时。
我的用户在早上 8 点登录,我会将他的用户对象存储在缓存中。它会保留 f.e 吗?用户退出前 10 小时? play 2.2.6 缓存执行默认会存数据10小时吗?
我不想在 cookie 中保留太多用户数据,因为用户可以从网络浏览器看到它的内容。
这是我基于的文档:
https://www.playframework.com/documentation/2.2.x/JavaCache
但是没有任何消息。
下面是我的缓存相关方法:
public static Object getCacheValue(String key) {
return Cache.get(getSessionValue("id") + "_" + key);
}
public static void setCacheValue(String key, Object value) {
Cache.set(getSessionValue("id") + "_" + key, value);
}
public static void removeCacheValue(String key) {
Cache.remove(getSessionValue("id") + "_" + key);
}
以下是我的session相关方法:
public static String getSessionValue(String key) {
return session().get(key);
}
public static void setSessionValue(String key, String value) {
session(key, value);
}
您可以选择指定缓存的过期时间 - 以秒为单位 (https://www.playframework.com/documentation/2.2.x/JavaCache)。如果不这样做,则默认值为 0,这意味着数据将永远(无限期)保留在缓存中:
当然因为这只是一个缓存,所以你不能真的依赖"forever"。永远记住缓存就是缓存,你的数据可能会消失——你必须有一个备份策略来检索它。