问题标签 [spring-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
37299 浏览

spring - 从同一个类中调用时忽略 Spring 缓存 @Cacheable 方法

我正在尝试@Cacheable从同一个类中调用一个方法:

并希望结果findPersons也被缓存,但@Cacheable注释被忽略,并且findPerson每次都执行方法。

我在这里做错了什么,或者这是故意的?

0 投票
2 回答
7945 浏览

java - 设置 spring @cacheable 缓存 10 秒

我正在使用 Spring 框架 3.2.4 编写一个 java 项目。

我有许多需要缓存 10 秒的 SQL 查询。

我知道通过@cacheable注释我可以缓存函数结果。

我不明白的是如何只缓存 10 秒。我知道您可以向可缓存注释添加条件,但我很难弄清楚如何为这些条件添加时间。

任何有关该问题的信息将不胜感激。

0 投票
0 回答
211 浏览

caching - infinispan 从数据库中解组缓存键

我们想查看存储在 infinispan 缓存中的密钥。我们已经配置了 JdbcStringBasedCacheStore 并且 key 和 value 也存储在 DB 中。

当我们从缓存表中选择键时,它在 byte[] 中。尝试使用 jboss unmarshaler 来获取实际密钥,但它会抛出 java.io.IOException: Unsupported protocol version 63

如果有人试图查看存储在 infinispan 缓存中的密钥,请提供帮助。我们正在使用远程热棒服务器 - 所以不支持 keySet。

0 投票
1 回答
1283 浏览

caching - Spring同时调用@cacheEvict和@Cacheable

这可能非常简单,但我想知道是否可以通过以下一种方法同时调用 @Cacheable 和 @CacheEvict:

上面的代码是在每次调用该方法时驱逐 empListCache 还是仅在缓存已满时才被驱逐?

谢谢。

0 投票
1 回答
1137 浏览

java - 使用 @Cacheable 注解时忽略预加载的 Ehcache

我还是 ehcache API 的新手,所以我可能会遗漏一些明显的东西,但这是我当前的问题。

我目前有一个存储在我的服务器上的持久磁盘缓存。我目前正在实现一种被动的后写缓存方法,它将键/值对保存到数据库表中。如果永久磁盘缓存丢失,我想从数据库表中恢复缓存。

我用于我的后写逻辑的示例:

http://scalejava.blogspot.com/2011/10/ehcache-write-behind-example.html

我正在使用以下方法构建磁盘持久性:

我在我的 CacheWriter 实现中重写的 write 方法工作正常。事情正在被保存到数据库中。

将字符串查询和反序列化回对象也可以正常工作。我已经验证了该对象的所有值都存在。当我删除 *.data 文件并重新启动应用程序时,磁盘持久缓存也会被填充:

问题

一切看起来都很好。但是,当我使用应该存在于缓存中的键传递 Rule 对象时,无论如何都会调用“读取”方法并且 *.data 文件大小会增加。尽管数据库的 write 方法不会尝试再次插入现有的键。关于我做错了什么的任何想法?

0 投票
1 回答
1010 浏览

spring - Spring:@PreAuthorize 是否优先于 @Cacheable?

我有一个关于 Spring Security 和 Spring Caching 的问题。假设我有一个方法,并且我用@PreAuthorize("condition") 和@Cacheable(...) 注释了该方法,就像这样

@PreAuthorize ( http://docs.spring.io/spring-security/site/docs/3.0.x/reference/ns-config.html ) 是否优先于 @Cacheable ( http://docs.spring.io/ spring/docs/3.1.0.M1/spring-framework-reference/html/cache.html)?框架是否保证将评估 @PreAuthorize 安全检查,即使 calculate() 函数的结果已经被计算和缓存?请记住,这个函数可以由用户 A 调用,然后是存储在缓存中的值,然后另一个用户(用户 B)执行需要再次调用此函数的操作?是否会评估 @PreAuthorize 条件?

从我在 Spring Documenation 中可以找到的内容来看,@PreAuthorize 和 @Cacheable 的建议顺序都定义为“Ordered.LOWEST_PRECEDENCE”,我相信这意味着评估它们的顺序是未定义的?

谢谢!

0 投票
1 回答
112 浏览

spring - 当tomcat 6启动时属性导致错误

我们在基于 jsf 的 Web 应用程序中使用 spring 3.2.3。我的任务是在不使用注释的情况下实现 spring缓存。这是我的缓存上下文:

当 tomcat 6 启动时,我收到此错误:... org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: 匹配的通配符是严格的,但找不到元素“缓存:建议”的声明.

我不明白为什么,我的 pom 或 xml 声明中是否缺少某些内容?请帮忙

0 投票
4 回答
3662 浏览

java - @Cacheable 通过 Spring aop - 如何生成唯一的缓存键

我想在为 findById(Long id) 方法扩展相同 AbstractService 的多个服务上启用缓存。

所以在我的 applicationContext 我写道:

问题是我想为方法 findById 上的每个服务调用生成一个唯一键,因为 ID 可以相同(因此有一个类转换异常):

单元测试 :

两种服务都扩展了 AbstractReferenceService :

并且 AbstractReferenceService 扩展了一个名为 RestHub 的框架提供的 crudService ( https://github.com/resthub/resthub-spring-stack/blob/master/resthub-common/src/main/java/org/resthub/common/service/ CrudService.java )

但是使用上面的配置我有一个错误:

在此先感谢您的帮助。

0 投票
2 回答
6343 浏览

java - 以实例变量和参数为键的 Spring 缓存

我正在使用 ehcache 来缓存方法结果。键必须是成员对象和方法参数的组合。我的课看起来像:

我需要基于 B 和 C 的密钥。我参考了https://code.google.com/p/ehcache-spring-annotations/issues/detail?id=69但他们没有指定如何包含方法参数在密钥生成中。有人可以帮我解决这个问题吗?

0 投票
3 回答
45372 浏览

spring - Spring框架中的ehcache配置

我正在尝试从 RSS 提要加载一些上下文,并在春季使用 ehcache 库将其作为缓存传递给客户端。这是我的代码:

同样在 /webmi/src/main/resources/ehcache.xml 我有 echahe.xml :

但问题是,当我想在应用程序内容中添加 bean 时,它会出错。这是部分 application-content.xml :

但它给了我以下错误:

我整天都在做这个,但我不知道是什么问题。有知道答案的请帮忙!!!

编辑: 我添加了 spring-contect-support,这是 Pom 中的依赖项:

但错误已更改为以下内容: