Java spring mvc 3的简单基于会话的数据缓存

Java spring mvc 3的简单基于会话的数据缓存,java,spring,session,caching,spring-mvc,Java,Spring,Session,Caching,Spring Mvc,我需要简单的、更好的基于会话的缓存,用于我们的SpringMVC3.1应用程序。我知道在3.1中引入了兑现抽象,但据我所知,它是应用程序范围的缓存。我们需要更简单的东西来缓存用户网格数据。我甚至不直接使用它,只要它有简单的接口 有人用过这样的东西吗?有什么好办法吗?或者有没有办法强制Spring缓存抽象仅为当前会话缓存数据?还是我注定要自己写?会话范围bean 如果您不介意显式解决方案,请创建一个具有会话范围的bean,并将其注入控制器 如果您没有忘记用作用域代理包装它,您可以 只需将缓存数据放

我需要简单的、更好的基于会话的缓存,用于我们的SpringMVC3.1应用程序。我知道在3.1中引入了兑现抽象,但据我所知,它是应用程序范围的缓存。我们需要更简单的东西来缓存用户网格数据。我甚至不直接使用它,只要它有简单的接口

有人用过这样的东西吗?有什么好办法吗?或者有没有办法强制Spring缓存抽象仅为当前会话缓存数据?还是我注定要自己写?

会话范围bean 如果您不介意显式解决方案,请创建一个具有会话范围的bean,并将其注入控制器

如果您没有忘记用作用域代理包装它,您可以 只需将缓存数据放在该bean的字段中。Spring将在每个HTTP会话中自动创建该bean的一个实例,并将其存储在那里

缓存抽象 另一方面,我认为Spring缓存抽象可能适合您—SPeL允许您访问HTTP环境,因此您可能在注释中基于当前用户会话id或其他属性(如用户名)以声明方式构造缓存键。

session scoped bean 如果您不介意显式解决方案,请创建一个具有会话范围的bean,并将其注入控制器

如果您没有忘记用作用域代理包装它,您可以 只需将缓存数据放在该bean的字段中。Spring将在每个HTTP会话中自动创建该bean的一个实例,并将其存储在那里

缓存抽象
另一方面,我认为Spring缓存抽象可能适合您—SPeL允许您访问HTTP环境,因此您可能会基于当前用户会话id或用户名等其他属性在注释中以声明方式构造缓存键。

会话范围bean是我考虑过的,而是作为一种自己实现简单缓存的方法。我真的不想重新发明轮子:用包含会话id的键缓存抽象?好吧,这很有趣,但它仍然会在应用程序范围内kips数据,现在,如果用户在清除旧缓存数据之前持续登录和注销几次,则会有更多的数据。至少对于会话,我知道一旦会话失效,它就会被丢弃。如果您使用缓存抽象方法,我不确定这是否可行,但值得一试。您可以通过实现org.springframework.cache.support.AbstractCacheManager.Jeah轻松地插入自己的缓存,但仍然,它是由我自己实现的,可能需要更多的时间:?另一方面,它将具有相同的接口:会话作用域bean是我考虑过的东西,但它是我自己实现简单缓存的一种方式。我真的不想重新发明轮子:用包含会话id的键缓存抽象?好吧,这很有趣,但它仍然会在应用程序范围内kips数据,现在,如果用户在清除旧缓存数据之前持续登录和注销几次,则会有更多的数据。至少对于会话,我知道一旦会话失效,它就会被丢弃。如果您使用缓存抽象方法,我不确定这是否可行,但值得一试。您可以通过实现org.springframework.cache.support.AbstractCacheManager.Jeah轻松地插入自己的缓存,但仍然,它是由我自己实现的,可能需要更多的时间:?另一方面,它将具有相同的接口: