我应该如何持久化应用程序静态集合,例如登录用户的哈希映射?

How should I persist application static collections like a hash map of logged in users?

我正在构建一个应用程序,它要求我维护一个登录用户列表以及他们注册的角色,以便其他用户可以访问此列表中的某些逻辑。对于在我的应用程序 class 中创建的这个列表,我正在使用一个将用户与其 UserRole 相关联的 HashMap,称为 LoggedInUsers。

我在 Java 中使用 PostgresSQL,但不知道如何存储这种类型的静态数据。我应该为登录用户创建另一个 table 吗?

我想在我的用户模型中添加一个 isLoggedIn 布尔值,但我需要哈希映射,因为它允许我获取用户登录的实例(用户角色),这对我的业务用例至关重要。

您可以使用另一个 table。
但我认为为此使用 Redis 会更好。
它是一个内存数据库。主要用于此类任务。

如果有人想知道解决方案是什么,请重新访问:

  • 我发现解决此问题的最佳方法是托管在云服务上序列化的登录用户地图。然后,该应用程序将有一个计划任务(每 5 秒左右)将本地登录用户地图与云地图合并,为登录用户和跨多个实例提供恒定的时间访问。