我之前使用的是Spring data Redis版本1.4.4。因为除了连接超时之外,我还必须配置读取超时,所以我已经将版本升级到2.1.6。但是现在我无法用RedisTemplate创建Rediscachemanager实例,因为spring data redis 2.0版不推荐使用它。可以有人请帮助一种方法来实现以下类似的配置(键/值序列化与RedisTemplate)与升级版本。
final JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory();
redisConnectionFactory.setHostName(redisHost);
redisConnectionFactory.setTimeout(10000);
redisConnectionFactory.setPort(port);
redisConnectionFactory.setUsePool(true);
redisConnectionFactory.afterPropertiesSet();
@Bean(name = "redisCacheManager")
public CacheManager cacheManager(final RedisTemplate<String,Object> redisTemplate) {
final RedisCacheManager manager = new RedisCacheManager(redisTemplate());
manager.setDefaultExpiration(Long.parseLong(expiryInSecs));
return manager;
}
@Bean(name="redisTemplate")
public RedisTemplate<String, Object> redisTemplate() {
final RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(redisConnectionFactory());
redisTemplate.setKeySerializer(stringRedisSerializer());
redisTemplate.setHashKeySerializer(stringRedisSerializer());
redisTemplate.setValueSerializer(stringRedisSerializer());
redisTemplate.setHashValueSerializer(stringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
如果将Spring Data Redis和Lettuce作为驱动程序(我推荐使用),您需要的配置如下:
@Bean
public RedisConnectionFactory connectionFactory() {
LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
.commandTimeout(Duration.ofSeconds(2))
.shutdownTimeout(Duration.ZERO)
.build();
return new LettuceConnectionFactory(new RedisStandaloneConfiguration("localhost", 6379), clientConfig);
}
@Bean(name = "redisCacheManager")
public CacheManager cacheManager(final RedisConnectionFactory factory) {
Duration expiration = Duration.ofSeconds(12345);
RedisCacheManager.RedisCacheManagerBuilder builder = RedisCacheManager
.builder(factory)
.cacheDefaults(RedisCacheConfiguration.defaultCacheConfig().entryTtl(expiration));
return builder.build();
}
@Bean(name="redisTemplate")
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
redisTemplate.setKeySerializer(stringRedisSerializer());
redisTemplate.setHashKeySerializer(stringRedisSerializer());
redisTemplate.setValueSerializer(stringRedisSerializer());
redisTemplate.setHashValueSerializer(stringRedisSerializer());
return redisTemplate;
}
Apache webside中的正确示例 添加到系统变量中的路径 %java_home%\bin %M2_HOME%\bin Java Home://library/Java/javavirtualmachines/jdk1.8.0_45.jdk/contents/home/jre
我正在尝试在emulator上运行GoogleMap的示例项目。现在我有一个错误: Google Maps Android API v2仅支持带有OpenGL ES 2.0及以上版本的设备 我怎样才能解决这个问题?
我搜索了如何在同一台机器上安装php5和php7,但没有找到答案。 我正在做两个不同的项目,一个依赖于php5,另一个依赖于php7 我在linux上使用xampp 如何运行两个版本的php 5
导入tensorflow时,会出现以下错误: 回溯(最后一次调用):文件“C:\Users\User\Anaconda3\lib\site packages\tensorflow\python\pywrap\u tensorflow.py”,第58行,来自tensorflow.python.pywrap\u tensorflow\u internal import*文件“C:\Users\User
注:此题不是重复题!与其说是UnsupportedClassVersionError,不如说是RMI 我在尝试运行RMI代码时获得UnsupportedClassVersionError。我的其他代码都运行得很好,但是我正在尝试按照RMI教程操作,而代码却没有运行。我运行的是Linux Mint17.1 Rebecca,我没有使用任何IDE。我还在通过命令行编译和运行本地机器上的所有代码,所以我使
我正在尝试将IntelliJ IDEA JDK设置为1.8版本(因为这是最新版本)。当我导航到< code > System/Library/framework/javavm . framework 时,IntelliJ IDEA显示1.6。当我输入< code>java -version时,它显示的是1.8。我在https://www.java.com/en/download/help/vers