我尝试在项目的redis缓存中创建文件夹。 我想要的东西类似于弹簧自动弹簧会话。
我有很多“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”替换值,它会创建一个文件夹,但仅限于键(就像我在屏幕截图中的首选项所做的那样)。 我找不到如何将所有值存储在同一个文件夹中。
我该怎么做?
答案 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;
}
现在这就像我想要的那样。