针对SpringBoot整合SpringDataRedis的示例代码,我来进行详细讲解。以下是完整攻略:
1. 引入依赖
在 pom.xml 文件中引入 Spring Data Redis 的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2. 配置 Redis 连接
在 application.properties 文件中配置 Redis 的连接信息(根据实际情况填写):
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=123456
3. 创建 RedisTemplate Bean
创建 RedisTemplate Bean,用于操作 Redis 数据库:
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
其中,设置了 Redis 的 key 序列化器和 value 序列化器,这里使用了 Jackson 序列化器。
4. 示例代码
示例1:字符串存取操作
下面是一个简单的示例,演示如何在 Spring Boot 中对字符串进行存储和读取操作:
@RestController
public class RedisStringController {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@GetMapping("/string/set")
public String setString(String key, String value) {
ValueOperations<String, Object> ops = redisTemplate.opsForValue();
ops.set(key, value);
return "success";
}
@GetMapping("/string/get")
public Object getString(String key) {
ValueOperations<String, Object> ops = redisTemplate.opsForValue();
return ops.get(key);
}
}
其中,"/string/set" 接口用于往 Redis 中写入字符串,"/string/get" 接口用于从 Redis 中读取字符串。
示例2:对象存取操作
接下来是一个演示如何在 Spring Boot 中对对象进行存储和读取操作的示例:
@RestController
public class RedisObjectController {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@GetMapping("/object/set")
public String setObject(String key) {
User user = new User(key, new Random().nextInt(30));
ValueOperations<String, Object> ops = redisTemplate.opsForValue();
ops.set(key, user);
return "success";
}
@GetMapping("/object/get")
public Object getObject(String key) {
ValueOperations<String, Object> ops = redisTemplate.opsForValue();
return ops.get(key);
}
@Data
public static class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
}
其中,"/object/set" 接口用于往 Redis 中写入一个 User 对象(以 key 作为对象的唯一标识),"/object/get" 接口用于从 Redis 中读取该对象。
总结
以上就是 SpringBoot整合SpringDataRedis的示例代码的完整攻略。其中,示例1演示了如何进行字符串的存储和读取操作,示例2演示了如何进行对象的存储和读取操作。通过这些示例,相信你已经能够掌握 Spring Boot 和 Spring Data Redis 的基本用法了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合SpringDataRedis的示例代码 - Python技术站