java - 用于 spring mvc 3 的简单基于 session 的数据缓存

标签 java spring session caching spring-mvc

对于我们的 Spring MVC 3.1 应用程序,我需要简单的、更可取的基于 session 的缓存。我知道在 3.1 中引入了缓存抽象,但据我所知,它是应用程序范围的缓存。我们需要更简单的东西来缓存用户网格数据。我什至不直接使用它来开采,只要它有简单的界面。

有人用过类似的东西吗?有什么好的库吗?或者有没有办法强制 Spring 缓存抽象只缓存当前 session 的数据?还是我注定要自己写?

最佳答案

session 作用域bean

如果您不介意显式解决方案,请使用 session 创建一个 bean范围并将其注入(inject)您的 Controller 。

如果你没有忘记用范围代理(<aop:scoped-proxy/>)包装它,你可以 只需将缓存数据放在该 bean 的字段中即可。 Spring 将自动为每个 HTTP session 创建一个该 bean 的实例并将其存储在那里。

缓存抽象

另一方面,我认为 Spring 缓存抽象可能对您有用 - SPeL 使您可以访问 HTTP 环境,因此您可能基于当前用户 session ID 或其他一些属性(如用户名)以声明方式(在注释中)构造缓存键。

关于java - 用于 spring mvc 3 的简单基于 session 的数据缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7402455/

相关文章:

java - 将显示 jComboBox 的渲染器链接到 jTable 中的单元格

java - Java中添加小数位(小数点后3位)

java - Spring Jedis 连接未返回池

java - 使用 Spring Security 时获取当前登录的用户名

java - HttpSessionDestroyedEvent 何时发送以及原因

java - 如何将Jar转为exe或msi包进行远程部署?

java - 计算复合 Material 的最小尺寸

java - 如何安全地存储外部服务的凭据

java - session 中的结果集

java - 使用 Actors/AKKA 的面向 session 的异步架构