【发布时间】:2014-11-08 14:46:59
【问题描述】:
我正在开发一个 Spring 应用程序,它有数百个用户,但有 100-100 万条数据作为响应发送给每个用户。因此,性能对我们来说是一个大问题。我们使用 Java、JSP、jQuery、HTML 和 CSS。对于我正在研究的部分,我正在构建一个通知系统。例如,如果用户的商品已过期,我们会向用户发送通知。但是,问题是:
- 我正在使用 jQuery/AJAX 每分钟轮询一次服务器
- 每个查询都非常昂贵,因为我们每分钟都在为每个用户搜索数以百计的数据。此外,还有数百名用户。
- 我们不检查上次修改时间,我们检查此到期日期字段是否早于当前时间。
我现在的想法是使用一个线程来不断检查数据库中是否有新更新的项目,如果有新项目,我们会更新缓存对象的表示。用户将从缓存中检索数据。
我应该如何使用 Spring 实现这一点?我应该使用什么数据结构?我应该为线程和缓存对象使用什么?我应该为此使用 WeakHashMap 吗?
注意:我们的应用程序不支持注解驱动的 mvc。
【问题讨论】:
标签: java multithreading spring caching service