首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用带有两个属性作为key的spring cache

如何使用带有两个属性作为key的spring cache
EN

Stack Overflow用户
提问于 2016-07-29 02:50:40
回答 1查看 620关注 0票数 0

请参考可用于缓存服务调用的Spring Cache

特别是下面的xml片段:

代码语言:javascript
复制
<!-- the service we want to make cacheable -->
<bean id="bookService" class="x.y.service.DefaultBookService"/>

<!-- cache definitions -->
<cache:advice id="cacheAdvice" cache-manager="cacheManager">
    <cache:caching cache="books">
        <cache:cacheable method="findBook" key="#isbn"/>
        <cache:cache-evict method="loadBooks" all-entries="true"/>
    </cache:caching>
</cache:advice>

<!-- apply the cacheable behavior to all BookService interfaces -->
<aop:config>
    <aop:advisor advice-ref="cacheAdvice" pointcut="execution(* x.y.BookService.*(..))"/>
</aop:config>

如果键是单个属性,则上述机制有效。我需要缓存的基础上isbn和作者。

有人能建议如何使用两个属性来启用缓存吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-29 03:52:04

您可以轻松地使用key="#author.toString() + #isbn.toString()")或实现自己的keyGenerator并对其进行配置,或者只需省略关键属性,以便将所有参数都考虑在内。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38644514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档