gpt4 book ai didi

java - 游戏框架 2.2.6。默认缓存过期

转载 作者:行者123 更新时间:2023-11-30 11:02:08 25 4
gpt4 key购买 nike

我想将 Java 对象存储在用户 session 的缓存中。我想知道什么是默认缓存存储超时。

我的用户在早上 8 点登录,我会将他的用户对象存储在缓存中。它会保留fe吗?用户退出前 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,这意味着数据将永远(无限期)保留在缓存中:

https://github.com/playframework/playframework/blob/2.2.x/framework/src/play-cache/src/main/scala/play/api/cache/Cache.scala#L50-L59

当然这只是一个缓存,所以你不能真正依赖“永远”。请始终记住,缓存就是缓存,您的数据可能会消失 - 您必须有一个备份策略来检索它。

关于java - 游戏框架 2.2.6。默认缓存过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30909410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com