java - 在哪里保存用户的 id?

标签 java web profile

我正在设计一个网络应用程序,它应该保留包含大量信息的用户个人资料, 显然它是从数据库读取数据。

目前,我的 session 中有用户名,每次我需要用户的信息时都应该读取 session ,然后创建一个配置文件类的对象(再次从数据库中读取数据)来检索用户的信息,这是最佳实践吗有这样的问题吗?

最佳答案

这是性能和内存消耗之间的典型权衡。如果您想要一个快速的应用程序,请将整个用户配置文件保留在 HTTP session 中,但请确保服务器中有足够的内存。

如果您想保持较低的资源消耗,请仅在 session 中存储用户 ID,并在每次需要时从数据库加载它。这也使得集群变得更简单,因为需要迁移的数据更少。

合理的妥协是使用后一种方法并进行一些缓存。这样,热门用户(当前正在使用系统)将保留在内存中,而空闲用户或不经常访问新页面的用户将从缓存中清除(假设缓存小于 HTTP session 数)。 p>

关于java - 在哪里保存用户的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12759161/

相关文章:

javascript - 为什么我的边栏在缩小时消失了?

php - 在网站上创建交互式绘图 R-plots

java - 玩!框架 : using session for authentication

c++ - 分析 C++ 析构函数调用

javascript - 作为 WordPress 管理员,如何更改用户的个人资料照片?

java - 使用 map reduce 作业将 Hdfs 文本文件转换为 Parquet 格式

java - 无法从 AsyncTask 更新 UI

java - 复制 Jar 文件而不损坏

Symfony2 FOSUserBundle 覆盖配置文件形式 : field form empty?

java - 检查扩展类是否是接口(interface)的实例