【问题标题】:How to change the Spring CacheManager dynamically?如何动态更改 Spring CacheManager?
【发布时间】:2018-11-08 03:23:00
【问题描述】:

我知道使用CacheManager 的静态方式。

@Cacheable(key = "'user'.concat(#userId).concat(#permission).concat(#user.userName)", cacheManager="UserCacheManager")
public boolean hasPermission(AppUser user, int userId, String permission) {
}

如何动态更改以小写字母和大写字母开头的用户 ID 的 CacheManager

-- SmallLetterCacheManager -- CapitalLetterCacheManager

【问题讨论】:

    标签: spring-cache


    【解决方案1】:

    在这种情况下,最简单的做法是始终将userId(或者user.userName)转换为小写,然后将其缓存。应用程序同时允许“aSmith”和“asmith”作为 2 个不同的个人用户是非典型的。

    但是,如果必须,并且在这种情况下您的应用程序要求很严格,那么您应该看看CacheResolverhere。另请参阅Javadoc

    【讨论】:

    猜你喜欢
    • 2019-12-18
    • 2021-05-20
    • 2018-04-06
    • 2017-09-15
    • 2020-03-02
    • 2023-03-06
    • 2019-04-22
    • 2019-03-13
    • 1970-01-01
    相关资源
    最近更新 更多