Spring Boot と Jedis を統合して利用する方法
Spring BootでJedisを統合するには、次の手順に従います。
- pom.xml
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
</dependency>
- application.properties
- application.yml
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
- Redis設定クラスの作成: Redis接続プールとJedis接続ファクトリの設定を行うRedis設定クラスを作成する。
@Configuration
public class RedisConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
@Bean
public JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration configuration = new RedisStandaloneConfiguration();
configuration.setHostName(host);
configuration.setPort(port);
configuration.setPassword(password);
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(configuration);
return jedisConnectionFactory;
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(jedisConnectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
}
- RedisTemplateを利用したRedis操作:Redisを利用する際には@AutowiredでRedisTemplateを注入し、そのメソッドを利用することでRedisを操作する。
@Service
public class RedisService {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void set(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
public void delete(String key) {
redisTemplate.delete(key);
}
}
以上は Spring Boot で Jedis を統合する簡単な実装方法です。Redis 接続情報を設定し、RedisTemplate を使用して Redis を操作することで、Redis の読み書き操作を簡単に実行できます。