如何使用spring在redis的缓存中创建文件夹?

时间:2017-03-17 08:08:11

标签: java spring caching redis

我尝试在项目的redis缓存中创建文件夹。 我想要的东西类似于弹簧自动弹簧会话。

enter image description here

我有很多“DisplayItem”条目,我想将它们存储在“displayitem”文件夹中。

这是我的代码:

@Cacheable(value = "displayItem", cacheManager = "longLifeCacheManager")
public DisplayItem getDisplayItem(String displayItemCode) {
    // Do a lot of things
}

@Cacheable(cacheManager = "mediumLifeCacheManager", value = "preferences:userPreferences", key = "#zenithName")
public UserPreferences getUserPreferencesByZenithName(String zenithName) {
    // Do something
}

如果我用“foldername:displayItem”替换值,它会创建一个文件夹,但仅限于键(就像我在屏幕截图中的首选项所做的那样)。 我找不到如何将所有值存储在同一个文件夹中。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我终于找到了解决方案。 在CacheManager的配置中,我需要将UserPrefix设置为True。

@Bean(name = "mediumLifeCacheManager")
public CacheManager mediumLifeCacheManager(RedisTemplate redisTemplate) {
    RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);
    cacheManager.setDefaultExpiration(redisExpirationMedium);
    cacheManager.setUsePrefix(true);
    return cacheManager;
}

现在这就像我想要的那样。

enter image description here