Heyho,
我目前正在为游戏服务器开发用户系统。所以我的问题是会有很多用户,但是当他们离线时我也需要有关他们的信息。
用户的2个版本应如下所示:
在线版:用户名,ID,lastLogin,元数据,gui stuff ......
离线版:用户名,ID,元数据
我正在使用google guava缓存用户,并且在缓存“已满”后,我希望将用户降级到脱机用户,这会占用更少的内存。 我现在的问题是,如何实现这一目标。是否有更好的缓存系统作为 google guava ,它支持这样的行为?
我真的依赖于我的用户的离线版,因为他们经常需要。
答案 0 :(得分:0)
您不应该有user
的2个版本,您应该有两个类:User
和OnlineProperties
。用户具有变量:OnlineProperties onlineProperties = null
用户应该拥有方法goOnline
,可以创建OnlineProperties
的实例并将其添加到用户goOffline
这样做onlineProperties = null