Spring Data Redis是一个Spring Data项目的一部分,它提供了与Redis key-value数据库进行交互的一些功能,如分布式面向连接池的Jedis客户端、RedisTemplate、Repository等。
Spring Data Redis 2.0的使用示例代码主要分为以下几个步骤:
1. 添加依赖
在pom.xml中添加如下依赖:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>2.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
2. 配置Redis
通过配置文件配置Redis连接:
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
spring.redis.timeout=5000
3. 实体类定义
定义一个实体类User
作为示例:
public class User {
private String id;
private String name;
private int age;
// 省略getter和setter方法
}
4. RedisTemplate的使用示例
4.1 获取RedisTemplate
通过注入RedisConnectionFactory实例,我们可以获取到一个RedisTemplate实例,对于Spring Data Redis 2.0 版本,RedisSerializer都必须通过RedisTemplate来注册,如下所示:
@Configuration
public class RedisConfig {
@Autowired
private RedisConnectionFactory redisConnectionFactory;
@Bean
public RedisTemplate<String, User> redisTemplate() {
RedisTemplate<String, User> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
// key的序列化方式
RedisSerializer<String> stringRedisSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringRedisSerializer);
// value序列化方式,使用Jackson2JsonRedisSerializer来反序列化value值
RedisSerializer<Object> jsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
redisTemplate.setValueSerializer(jsonRedisSerializer);
return redisTemplate;
}
}
4.2 插入数据
@Service
public class UserService {
@Autowired
private RedisTemplate<String, User> redisTemplate;
public void insertUser(User user) {
redisTemplate.opsForValue().set(user.getId(), user);
}
}
4.3 查询数据
@Service
public class UserService {
@Autowired
private RedisTemplate<String, User> redisTemplate;
public User findUserById(String id) {
return redisTemplate.opsForValue().get(id);
}
}
5. Spring Data Redis的Repository的使用示例
Spring Data Redis支持使用repository接口来操作数据,例如,为User定义一个Repository:
public interface UserRepository extends CrudRepository<User, String> {
}
然后在Service中注入该Repository:
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public void insertUser(User user) {
userRepository.save(user);
}
public User findUserById(String id) {
return userRepository.findById(id).orElse(null);
}
}
以上就是Spring Data Redis 2.0的使用示例代码的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring-data-redis 2.0 的使用示例代码 - Python技术站