#java #spring-boot #redis #spring-data-redis
#java #spring-boot #redis #spring-data-redis
Вопрос:
У меня есть небольшое приложение spring boot, которое я пытаюсь интегрировать с Redis с помощью клиента Jedis.
Я настроил пул Jedis так, чтобы он указывал на контейнер Redis docker, работающий локально.
@Bean
public JedisPool jedisPool() {
JedisPool jedisPool = null;
try {
URI redisUri = new URI("redis://localhost:6379");
jedisPool = new JedisPool(poolConfig(), redisUri, 20000, null, null, null);
} catch (URISyntaxException e) {
logger.error("Failed to create the redis pool: ", e);
}
return jedisPool;
}
У меня есть RedisService
, который использует JedisPool
и выполняет транзакции с сервером Redis.
@Autowired
JedisPool jedisPool;
@Override
public String retrieve(String key) {
Jedis jedis = jedisPool.getResource();
String json = jedis.get(key);
jedis.close();
return json;
}
@Override
public void store(String key, String value) {
Jedis jedis = jedisPool.getResource();
jedis.set(key, value);
jedis.expire(key, keyExpire);
jedis.close();
}
При запуске приложения я получаю это исключение
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused (Connection refused)
Я могу подключиться к серверу Redis через redis-cli
, но не из моего приложения spring boot.
Есть идеи о том, как решить эту проблему?
Ответ №1:
Попробуйте использовать http://localhost:6379 вместо этого ваш текущий URI
Комментарии:
1. то же исключение