Spring Boot 使用 Redis 缓存数据库数据 - 代码示例
Redis 是一种内存数据库,可以用于缓存数据。在 Spring Boot 中使用 Redis 作为缓存可以提高应用程序的性能和可靠性。
下面是使用 Redis 作为缓存的 Spring Boot 业务代码示例:
1.首先,需要在 pom.xml 文件中添加 Redis 和 Spring Data Redis 依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置 Redis 连接信息:
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=password
3.创建一个 RedisCacheConfig 类来配置 Redis 缓存:
@Configuration
@EnableCaching
public class RedisCacheConfig {
@Bean
public RedisConnectionFactory redisConnectionFactory() {
return new JedisConnectionFactory();
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory());
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
@Bean
public CacheManager cacheManager() {
RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate());
cacheManager.setDefaultExpiration(300);
return cacheManager;
}
}
4.在需要缓存的方法上添加 @Cacheable 注解:
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
@Cacheable(value = 'users', key = '#id', unless = '#result == null')
public User getUserById(String id) {
return userRepository.findById(id);
}
}
这样,当 getUserById() 方法被调用时,如果缓存中有对应的数据,则直接返回缓存数据,否则会执行方法并将返回值存入缓存。
以上就是使用 Redis 作为数据库缓存的 Spring Boot 业务代码示例。
原文地址: https://www.cveoy.top/t/topic/nwBU 著作权归作者所有。请勿转载和采集!