gpt4 book ai didi

java - 要保存在内存缓存或数据库中的数据

转载 作者:行者123 更新时间:2023-11-29 06:12:33 24 4
gpt4 key购买 nike

我遇到了以下问题:我有一个 Web 应用程序,功能是:用户需要查看分配给他的文档。用户审阅文档后,他会将文档标记为“已审阅”。分配给用户的文档可能有 1000 多个。将有一个选项“未经审查”的文件。因此,当用户单击此按钮时,他将获得所有未审阅文档的列表(可能有 1000 个)。例如,他得到 Doc1、Doc2、Doc3、Doc4、Doc5、Doc6、Doc7、Doc8、Doc9、Doc10。他从 Doc1 开始。他可能会/可能不会审查 Doc1,然后转到 Doc2 进行审查。现在他应该可以使用“下一步”/列表中文档的“上一个”选项。现在的问题是 - 如果我正在审阅 Doc5 并且我想转到上一个文档(已审阅的 Doc4),则需要将其保存在该审阅 session 的缓存中,以便它可以返回到上一个审查文件。如果我将它保存在缓存中,直到现在访问的所有文档都可能在 1000 秒内运行,那么如果有大量用户在处理通用文档集,则可能会出现内存不足错误。我该如何解决这个问题。

谢谢,

更新:

我想我应该更清楚它应该如何工作——每当用户处于“未审阅” session 时,他都会获得所有未审阅的文档(例如 Doc1-10 中的 10 个文档)。现在他应该能够浏览这 10 个文档(下一个/上一个),而不管在这个“未审阅的 session ”中标记为“已审阅”的那些文档。假设在浏览这些文档时,他将 Doc 2 标记为“已审阅”,然后他从未审阅的 session 中出来,下次再次选择“未审阅”时,他应该得到除 Doc 2 之外的 9 个文档。但是,如果他是仍在未审阅的 session 中,他将 Doc 3 标记为已审阅,然后移至 Doc 4 ,他应该能够返回 Doc 3 ,即使它已“审阅”。我们是否为在“非审查” session 中选择的这些文档集维护一个唯一的 session ,以便我们可以在非审查 session 期间浏览它

最佳答案

保持滑动缓存窗口。详情请往下看

..., 34, 35, [36, 37, <38>, 39, 40], 41, 42, ...

(brackets indicate the cache window, the currently viewed item is #38)

当有人按下下一步时,窗口会更新

..., 34, 35, 36, [37, 38, <39>, 40, (41)], 42, ...

(download #41 in the background while the person browses #39, the current item)

这将不会减慢小范围的更改,并且如果用户在特定文档上稍有滞后则隐藏下载时间。它还允许您平衡窗口大小与可用内存。

关于java - 要保存在内存缓存或数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6311588/

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