SpringBoot引入redis怎么使用

1. 引入Redis

在使用SpringBoot引入Redis之前,需要在pom.xml文件中添加Redis依赖:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-redis</artifactId>

</dependency>

添加依赖后,需要在application.properties文件中添加Redis相关的配置:

spring.redis.host=127.0.0.1

spring.redis.port=6379

# 如果Redis没有设置密码,则无需添加该配置,否则需要添加

spring.redis.password=redis_password

完成以上配置后,就可以使用Redis了。

2. 使用Jedis操作Redis

在SpringBoot中,可以通过Jedis来操作Redis。在使用Jedis之前,需要在pom.xml文件中添加Jedis依赖:

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>3.5.3</version>

</dependency>

添加依赖后,就可以使用Jedis操作Redis了。下面是一个使用Jedis实现Redis操作的示例:

2.1. 连接Redis

首先需要与Redis建立连接,可以通过以下方式连接Redis:

Jedis jedis = new Jedis(host, port);

jedis.auth(password); // 如果Redis设置了密码,则需要在连接时进行认证

2.2. 存储数据

存储数据可以使用以下方式:

jedis.set("key", "value");

其中key为存储数据的键,value为存储的值。

2.3. 获取数据

获取数据可以使用以下方式:

String value = jedis.get("key");

其中key为要获取的数据的键。

2.4. 删除数据

删除数据可以使用以下方式:

jedis.del("key");

其中key为要删除的数据的键。

3. 使用Spring的RedisTemplate操作Redis

除了使用Jedis操作Redis外,还可以使用Spring提供的RedisTemplate来操作Redis。在使用RedisTemplate之前,需要在application.properties文件中添加以下配置:

spring.redis.host=127.0.0.1

spring.redis.port=6379

spring.redis.password=redis_password

# 配置RedisTemplate

spring.redis.timeout=3000 # 连接超时时间

spring.redis.jedis.pool.max-active=8 # 连接池最大连接数

spring.redis.jedis.pool.max-wait=-1 # 连接池最大阻塞等待时间

spring.redis.jedis.pool.max-idle=8 # 连接池最大空闲连接数

spring.redis.jedis.pool.min-idle=0 # 连接池最小空闲连接数

添加配置后,需要创建RedisTemplate实例,可以使用以下配置类实现:

@Configuration

public class RedisConfig {

@Bean

public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {

RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();

redisTemplate.setConnectionFactory(redisConnectionFactory);

// 设置序列化方式

RedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);

ObjectMapper objectMapper = new ObjectMapper();

objectMapper.setVisibility(PropertyAccessor.ALL, Visibility.ANY);

objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

// 设置RedisTemplate关联的Value序列化方式

redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);

redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);

// 设置RedisTemplate关联的Key序列化方式

redisTemplate.setKeySerializer(new StringRedisSerializer());

redisTemplate.setHashKeySerializer(new StringRedisSerializer());

redisTemplate.afterPropertiesSet();

return redisTemplate;

}

}

创建好RedisTemplate实例后,就可以使用RedisTemplate来操作Redis了。下面是一个使用RedisTemplate实现Redis操作的示例:

3.1. 存储数据

存储数据可以使用以下方式:

ValueOperations<String, Object> valueOperations = redisTemplate.opsForValue();

valueOperations.set("key", "value");

其中key为存储数据的键,value为存储的值。

3.2. 获取数据

获取数据可以使用以下方式:

ValueOperations<String, Object> valueOperations = redisTemplate.opsForValue();

String value = (String) valueOperations.get("key");

其中key为要获取的数据的键。

3.3. 删除数据

删除数据可以使用以下方式:

redisTemplate.delete("key");

其中key为要删除的数据的键。

4. 总结

本文介绍了SpringBoot引入Redis并使用Jedis和RedisTemplate来操作Redis的方法。在实际应用中,可以根据自己的需求选择适合的方法。

数据库标签