application.yml
server:
port: 8001
spring:
redis:
open:
host: 127.0.0.1
port: 6379
timeout: 20000
auth: null
dmp:
host: 127.0.0.1
port: 6379
timeout: 20000
password: 'password'
配置类
package com.octupus.rta_lixian.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.util.StringUtils;
import redis.clients.jedis.JedisPoolConfig;
@Configuration
public class RedisTemplateConfig {
@Value("${spring.redis.open.host}")
private String openHost;
@Value("${spring.redis.open.port}")
private Integer openPort;
@Value("${spring.redis.open.auth}")
private String openPassword;
@Value("${spring.redis.dmp.host}")
private String dmpHost;
@Value("${spring.redis.dmp.port}")
private Integer dmpPort;
@Value("${spring.redis.dmp.password}")
private String dmpPassword;
private static final int MAX_IDLE = 200;
private static final int MAX_TOTAL = -1;
private static final long MAX_WAIT_MILLIS = 2000;
public RedisConnectionFactory connectionFactory(String host, int port, String password, int maxIdle,
int maxTotal, long maxWaitMillis) {
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName(host);
jedisConnectionFactory.setPort(port);
if (!StringUtils.isEmpty(password)) {
jedisConnectionFactory.setPassword(password);
}
jedisConnectionFactory.setPoolConfig(poolConfig(maxIdle, maxTotal, maxWaitMillis, false));
jedisConnectionFactory.afterPropertiesSet();
return jedisConnectionFactory;
}
public JedisPoolConfig poolConfig(int maxIdle, int maxTotal, long maxWaitMillis, boolean testOnBorrow) {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(maxIdle);
poolConfig.setMaxTotal(maxTotal);
poolConfig.setMaxWaitMillis(maxWaitMillis);
poolConfig.setTestOnBorrow(testOnBorrow);
return poolConfig;
}
@Bean(name = "redisTemplateopen")
public StringRedisTemplate redisTemplateOpen() {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(
connectionFactory(openHost, openPort, openPassword, MAX_IDLE, MAX_TOTAL, MAX_WAIT_MILLIS));
return template;
}
@Bean(name = "redisTemplatedmp")
public StringRedisTemplate redisTemplateDmp() {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(
connectionFactory(dmpHost, dmpPort, dmpPassword, MAX_IDLE, MAX_TOTAL, MAX_WAIT_MILLIS));
return template;
}
}
使用示例
@Resource(name = "redisTemplateopen")
StringRedisTemplate openJedisService;
openJedisService.opsForValue().get(Key)
openJedisService.opsForValue().set(Key, "0")