Ram 或 DB 表中的表,以获得最佳性能

tables in Ram or DB tables, for best performances

我正在使用 java 编写服务器应用程序(聊天服务器端),它接收请求并发送到目标。

  1. 我在数据库中有几个表,服务器 应用程序启动后,我将其编程为 复制 database to Map tables (in the ram) 以加快拉取速度
    • 在应用程序 运行 时推送数据。 正确的给药方式?或者您建议我在需要详细信息时直接从数据库中提取数据。 并删除 Map<> 来自 ram 的桌子!?
  2. 我有内存泄漏问题。
  3. 处理数据库是否会减慢应用程序的速度?

在内存中缓存全部或部分数据是否有意义取决于您的用例。它可以提高性能,但会增加可能不需要的复杂性。

您可以将数百万甚至数十亿条记录加载到 JVM 中,但除此之外您还需要堆外存储,例如用于此目的的数据存储或数据库。使用堆外内存,您可以在 JVM 中拥有数万亿条记录,但这很少需要。