1. 首页
  2. 软件开发
  3. Spring MVC与缓存技术(如Redis)的集成的详细步骤。

Spring MVC与缓存技术(如Redis)的集成的详细步骤。

  • 发布于 2024-08-17
  • 0 次阅读

集成Spring MVC与缓存技术(如Redis)可以帮助提升系统性能和减少数据库负载。下面介绍如何在Spring MVC中集成Redis缓存。

  1. 引入Redis依赖 :
    • 首先,在项目的pom.xml文件中引入Spring Data Redis依赖,以便使用Redis相关功能。
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-redis</artifactId>
  <version>2.7.3</version> 
</dependency>
  1. 配置Redis连接 :
    • 在Spring配置文件中配置Redis连接信息,包括Redis服务器地址、端口、密码等。
# Redis 连接信息
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=your_password
  1. 使用RedisTemplate:

    • 在Spring MVC中可以使用RedisTemplate来操作Redis,进行数据的存取等操作。
    • RedisTemplate是Spring提供的用于操作Redis的模板类,可以方便地进行数据的读写操作。
  2. 缓存注解:

    • Spring提供了缓存注解(如@Cacheable、@CachePut、@CacheEvict等)来简化缓存操作。
    • 在Service层的方法上使用这些注解可以实现方法结果的缓存和缓存的更新。
  3. 代码如下:

@Configuration
@EnableCaching
public class CacheConfig extends CachingConfigurerSupport {
   

    @Bean
    public RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
   
        RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
                .entryTtl(Duration.ofMinutes(10));
        return RedisCacheManager.builder(redisConnectionFactory)
                .cacheDefaults(cacheConfiguration)
                .build();
    }
}

在Service层的方法中使用缓存注解:

@Service
public class UserService {
   

    @Autowired
    private UserRepository userRepository;

    @Cacheable(value = "users", key = "#id")
    public User getUserById(Long id) {
   
        return userRepository.findById(id).orElse(null);
    }

    @CachePut(value = "users", key = "#user.id")
    public User updateUser(User user) {
   
        return userRepository.save(user);
    }

    @CacheEvict(value = "users", key = "#id")
    public void deleteUser(Long id) {
   
        userRepository.deleteById(id);
    }
}

原文链接: https://blog.csdn.net/2401_82884096/article/details/138033043