我尝试在我的项目的 redis 缓存中创建文件夹。 我想要类似于 spring 自动处理 spring session 的东西。
我有很多“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”,它会创建一个文件夹,但仅用于键(就像我在屏幕截图中为首选项所做的那样)。 我找不到如何将所有值存储在同一个文件夹中。
我该怎么做?
最佳答案
我终于找到了解决办法。 在 CacheManager 的配置中,我需要将 UserPrefix 设置为 True。
@Bean(name = "mediumLifeCacheManager")
public CacheManager mediumLifeCacheManager(RedisTemplate redisTemplate) {
RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);
cacheManager.setDefaultExpiration(redisExpirationMedium);
cacheManager.setUsePrefix(true);
return cacheManager;
}
现在一切如我所愿。
关于java - 如何用spring在redis的缓存中创建文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42852290/