问题标签 [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.
java - 如何在没有方法参数的方法上使用 @cacheable 注释的键
我有一个缓存方法和一个缓存驱逐方法我想使用缓存键属性来访问缓存,我如何强制或锁定调用此方法的人使用相同的键。
我试过这样的东西,但是,它似乎不正确。方法参数(cachekey)可以作为调用者所需的任何值传递。
java - Spring : Spring-cache not working
I am working on a Spring-MVC application. After the profiler went through the backend, I noticed that getCurrentlyAuthenticatedUser() is an hotspot. For the reason I thought of using cache. Unfortunately it is not working. Once the user logs in, I am getting null user, even though the user is logged in. What is going wrong. Ofcourse when I remove the @Cacheable annotation and config from XML, everything works fine. Any help would be nice.
PersonServiceImpl :
config for using cache :
when I call this method, even if logged in or not, I am getting null back. Any help would be nice. Thanks.
spring - Redis 与 Guava 缓存
我有一个代码,我在其中实现了缓存机制。以前它是基于 Guava 的缓存,现在考虑到集中式缓存的需求,我正在转向 Redis。
但我担心它的性能,因为与 guave 相比,我看到 redis 的性能极低。
我已经测量了从缓存中获取类对象的 api 的性能在 Guava 的情况下为 5 毫秒,而在 Redis 中则为 200 毫秒。
这是负载测试情况下的平均响应,在单个请求响应的情况下差别不大。
我已经使用缓存抽象实现了 Spring 数据 Redis。
以下是 Redis 配置示例:
除此之外,对于 redis 服务器配置,我尝试禁用所有持久性,因为我不需要它。但仍然表现不佳。
我的主要疑问是导致此问题的配置还是 Redis 与 Guava 相比性能非常低?
通过更多的配置调优redis的性能可以和guava相比吗?
请建议。
spring - 为什么这个流和 lambda 表达式不能与 SpEL 声明一起使用?
我正在尝试在 Spring @Cache 注释中使用 Java 8 流和 lambda 表达式。
我正在尝试使用以下内容:
它失败了:
但是,如果我将流移动到实体上的方法中,我就能让它工作。注释然后按如下方式工作而没有错误:
如果可能,我宁愿不需要“containtsNewTag()”方法,而是直接在 SpEL 表达式中使用流。这可以做到吗?
spring-cache - 弹簧缓存确实可以使用嵌套方法
我有一种方法可以调用另一个 @Cacheable 方法,如下所示:
如果我直接调用 findMethod1(),缓存效果很好。但是,当我调用 findMethod2() 时, findMethod1() 上的缓存会被完全忽略。
难道是JVM把findMethod1()内联到findMethod2()中的伎俩?
有没有人遇到过类似的问题?
谢谢!
java - 对缓存方法的并发调用
我正在使用带有 Guava 缓存的 Spring 缓存抽象。我有一个带有@Cacheable 注释和参数(用作缓存键)的方法来将值放入缓存中。但是这个方法是在多线程环境中访问的,所以有多个并发调用具有相同参数值的方法。这意味着创建要缓存的值的相同逻辑对同一个缓存键多次执行,并同时多次放入缓存中。如果对于每个参数值(缓存键),该方法只调用一次并放入缓存一次,效率会更高。Spring可以处理这样的场景吗?
spring - 阻塞缓存支持
Spring Cache 抽象不支持阻塞缓存,这意味着当您在多个线程上同时对同一个键执行读取操作时,缓存方法只会被调用一次。Guava 缓存通过 LoadingCache 开箱即用地支持该功能。Spring 是否计划引入一个单独的阻塞缓存抽象层来与番石榴缓存一起使用?在某些情况下,对一个键只调用一次可缓存方法是很重要的,所以我认为这是一个很好的特性。
spring-cache - 春季刷新缓存
当我通过我的服务将数据插入数据库时以及将数据直接添加到数据库中时,我如何刷新弹簧缓存。我们能做到这一点吗?
笔记:
我正在使用以下库 1)net.sf.json-lib 2)spring-support-context
java - 如何在可缓存注释的条件下使用密钥
我正在使用 @cacheable 注释缓存函数的结果。我有 3 个不同的缓存,每个缓存的键是当前登录用户的用户 ID,并与方法中的参数连接。在某个事件中,我想驱逐所有具有以该特定用户 ID 开头的键的缓存条目。例如 :
我希望缓存驱逐注释是这样的:
但是当我尝试实现它时,它给了我一个错误:
实现这一点的正确方法是什么?