Spring框架。如何存储一些数据以防止每次访问数据库

标签 spring session caching memory

我的应用程序列表中有客户和用户。我想只在开始时获取它们的列表。然后使用本地存储的数据,而不是来自数据库的数据。

您能给我一些带有示例的方法吗?

我想到了 HttpSession 对象?但我不确定这样可以吗? 因为此数据应该仅适用于在启动时访问它的登录用户。

客户列表将在应用程序的每个页面上提供!

最佳答案

看看 Spring 缓存 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/cache.html

您可以注释您的存储库方法:

@Cacheable(value="customer", key="#prsonalNum")
public Customer findCustomer(String prsonalNum) {
   ...
}

应用程序仅在第一次时才会进入方法体。之后将从缓存中获取该值。

例如,您还可以在更新某些客户时清除缓存。

@CacheEvict(value="customer", allEntries=true)
public void addCustomer(Customer cust)

关于Spring框架。如何存储一些数据以防止每次访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28075026/

相关文章:

java - 如何检查/测试应用程序是否未在浏览器上缓存?

php - 根据当前用户 session 显示特定内容 PHP

spring - 在 Spring Sessions 上从 Redis 反序列化 Oauth2 session 时出现异常

java - 玩! 2.0 + Spring + MyBatis Java 示例

java - 具有不同 PathVariable 的相同 rest 端点

php - 更新数据库 PHP 时出错

node.js - 我应该使用 Sails.js 和 Stormpath 来整合 session 管理吗?

caching - 如何为 Sitecore ControllerRendering 启用缓存

java - 无法使用 SQL 工具查询现有的 Ignite 缓存

java - 为密码过期的用户重定向至更改密码页面