- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
您好,下面是我的 redis 缓存配置,我正在尝试使用以下方式获取存储在 redis 服务器上的所有缓存名称:
redisCacheManager.getCacheNames()
但它没有给我 redis 服务器中存在的缓存名称。
我使用 Cachable 注释为 cacheName 添加前缀:@Cacheable("cacheName")
我在这里有 2 个问题?
1) 为什么我无法获取存储在 redis 服务器中的缓存名称。2)我不想为所有前缀编写单独的方法,如何动态创建前缀 cacheName?
@Bean
JedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory factory = new JedisConnectionFactory();
factory.setHostName(redisHost);
factory.setPort(redisPort);
factory.setUsePool(true);
return factory;
}
@Bean
RedisTemplate<Object, Object> redisTemplate() {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<Object, Object>();
redisTemplate.setConnectionFactory(jedisConnectionFactory());
redisTemplate.setDefaultSerializer(new StringRedisSerializer());
// redisTemplate.setHashValueSerializer(new Jackson2JsonRedisSerializer<>(Object.class));
return redisTemplate;
}
@Bean
CacheManager cacheManager() {
// configuration to set the time to expire in seconds, messageCache is name of method
Map<String,Long> cacheMap = new HashMap<String, Long>();
//cacheMap is the name of the map where we put all the method names for which we want time to expire.
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate());
redisCacheManager.setUsePrefix(true);
//redisCacheManager.setExpires(cacheMap);
return redisCacheManager;
}
最佳答案
对于CacheNames,尝试
@Autowired CacheManager cacheManager
cacheManager.getCacheNames().forEach(cacheM-> {System.out.println(cacheM);});
关于java - Spring Redis 问题 : GetAllCacheNames from redis cache is not working with RedisCacheManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46056087/
我刚开始使用 RedisCacheManager,有没有办法将缓存设置为在特定时间过期,例如午夜? 例如,我可以将缓存过期时间设置为一天,一切正常,但我想让缓存在特定时间过期。 谢谢! 最佳答案 在撰
我正在使用 spring-boot spring-data-redis 1.8.9.RELEASE RedisCacheManager CacheManager 用于缓存的实现。我想要了解的一个指标是
我在使用 spring 的 Redis 中使用 @Cacheable(value="bus_availability", key="#sourceCity") spring 注释来缓存数据。但是每当尝
如何在 Spring 2.0 中自定义 RedisCacheManager 实例来专门设置缓存名称和过期时间。 这是我以前在 1.5.x 中工作的代码,但在 2.x 上失败了 public class
您好,下面是我的 redis 缓存配置,我正在尝试使用以下方式获取存储在 redis 服务器上的所有缓存名称: redisCacheManager.getCacheNames() 但它没有给我 red
我之前使用的是 Spring Data Redis 1.4.4 版本。由于除了连接超时外,我还必须配置读取超时,因此我已将版本升级到 2.1.6。但是现在我无法使用 RedisTemplate 创建
我正在将我的应用程序从 spring boot 1.5.x 迁移到 2.0.x。我想保留 jedis,但我对 RedisCacheManager 的实例化有疑问。 现在构造函数签名是 RedisCac
我正在将一个使用 Spring Data Redis 的项目升级到 2.x。以前,可以使用 RedisCacheManager.setDefaultExpiration(defaultExpireTi
我是一名优秀的程序员,十分优秀!