问题标签 [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.
spring - 从同一个类中调用时忽略 Spring 缓存 @Cacheable 方法
我正在尝试@Cacheable
从同一个类中调用一个方法:
并希望结果findPersons
也被缓存,但@Cacheable
注释被忽略,并且findPerson
每次都执行方法。
我在这里做错了什么,或者这是故意的?
java - 设置 spring @cacheable 缓存 10 秒
我正在使用 Spring 框架 3.2.4 编写一个 java 项目。
我有许多需要缓存 10 秒的 SQL 查询。
我知道通过@cacheable
注释我可以缓存函数结果。
我不明白的是如何只缓存 10 秒。我知道您可以向可缓存注释添加条件,但我很难弄清楚如何为这些条件添加时间。
任何有关该问题的信息将不胜感激。
caching - infinispan 从数据库中解组缓存键
我们想查看存储在 infinispan 缓存中的密钥。我们已经配置了 JdbcStringBasedCacheStore 并且 key 和 value 也存储在 DB 中。
当我们从缓存表中选择键时,它在 byte[] 中。尝试使用 jboss unmarshaler 来获取实际密钥,但它会抛出 java.io.IOException: Unsupported protocol version 63
如果有人试图查看存储在 infinispan 缓存中的密钥,请提供帮助。我们正在使用远程热棒服务器 - 所以不支持 keySet。
caching - Spring同时调用@cacheEvict和@Cacheable
这可能非常简单,但我想知道是否可以通过以下一种方法同时调用 @Cacheable 和 @CacheEvict:
上面的代码是在每次调用该方法时驱逐 empListCache 还是仅在缓存已满时才被驱逐?
谢谢。
java - 使用 @Cacheable 注解时忽略预加载的 Ehcache
我还是 ehcache API 的新手,所以我可能会遗漏一些明显的东西,但这是我当前的问题。
我目前有一个存储在我的服务器上的持久磁盘缓存。我目前正在实现一种被动的后写缓存方法,它将键/值对保存到数据库表中。如果永久磁盘缓存丢失,我想从数据库表中恢复缓存。
我用于我的后写逻辑的示例:
http://scalejava.blogspot.com/2011/10/ehcache-write-behind-example.html
我正在使用以下方法构建磁盘持久性:
我在我的 CacheWriter 实现中重写的 write 方法工作正常。事情正在被保存到数据库中。
将字符串查询和反序列化回对象也可以正常工作。我已经验证了该对象的所有值都存在。当我删除 *.data 文件并重新启动应用程序时,磁盘持久缓存也会被填充:
问题
一切看起来都很好。但是,当我使用应该存在于缓存中的键传递 Rule 对象时,无论如何都会调用“读取”方法并且 *.data 文件大小会增加。尽管数据库的 write 方法不会尝试再次插入现有的键。关于我做错了什么的任何想法?
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”,我相信这意味着评估它们的顺序是未定义的?
谢谢!
spring - 当tomcat 6启动时属性导致错误
我们在基于 jsf 的 Web 应用程序中使用 spring 3.2.3。我的任务是在不使用注释的情况下实现 spring缓存。这是我的缓存上下文:
当 tomcat 6 启动时,我收到此错误:... org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: 匹配的通配符是严格的,但找不到元素“缓存:建议”的声明.
我不明白为什么,我的 pom 或 xml 声明中是否缺少某些内容?请帮忙
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 )
但是使用上面的配置我有一个错误:
在此先感谢您的帮助。
java - 以实例变量和参数为键的 Spring 缓存
我正在使用 ehcache 来缓存方法结果。键必须是成员对象和方法参数的组合。我的课看起来像:
我需要基于 B 和 C 的密钥。我参考了https://code.google.com/p/ehcache-spring-annotations/issues/detail?id=69但他们没有指定如何包含方法参数在密钥生成中。有人可以帮我解决这个问题吗?
spring - Spring框架中的ehcache配置
我正在尝试从 RSS 提要加载一些上下文,并在春季使用 ehcache 库将其作为缓存传递给客户端。这是我的代码:
同样在 /webmi/src/main/resources/ehcache.xml 我有 echahe.xml :
但问题是,当我想在应用程序内容中添加 bean 时,它会出错。这是部分 application-content.xml :
但它给了我以下错误:
我整天都在做这个,但我不知道是什么问题。有知道答案的请帮忙!!!
编辑: 我添加了 spring-contect-support,这是 Pom 中的依赖项:
但错误已更改为以下内容: