java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring Boot Redis注解

Spring Boot整合Redis注解实现增删改查功能(Redis注解使用)

作者:小坏说Java

文章介绍了如何使用SpringBoot整合Redis注解实现增删改查功能,包括配置、实体类、Repository、Service及测试示例,通过使用注解如@RedisHash、@Cacheable等,可以简化操作并提高性能,文章还提供了关键注解的说明和测试验证方法,感兴趣的朋友跟随小编一起看看吧

以下是一个基于Spring Boot整合Redis注解实现增删改查功能的实战教程,内容分为配置、实体类、Repository、Service及测试示例:

配置Redis连接

application.propertiesapplication.yml中添加Redis配置:

spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
spring.redis.database=0

添加Spring Boot Redis依赖(Maven):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

定义实体类

使用@RedisHash注解标记实体类,并定义主键:

@RedisHash("User")
public class User {
    @Id
    private String id;
    private String name;
    private int age;
    // 省略getter/setter
}

创建Repository接口

继承CrudRepository并指定泛型类型:

public interface UserRepository extends CrudRepository<User, String> {
}

增删改查操作示例

插入数据

通过save方法插入或更新数据:

@Autowired
private UserRepository userRepository;
public void addUser(User user) {
    userRepository.save(user);
}

查询数据

使用findById或自定义查询方法:

public User getUserById(String id) {
    return userRepository.findById(id).orElse(null);
}
// 自定义查询(需在Repository中声明方法)
@Indexed
public List<User> findByAge(int age);

删除数据

通过deleteById或对象删除:

public void deleteUser(String id) {
    userRepository.deleteById(id);
}

更新数据

更新操作与插入相同(自动覆盖):

public void updateUser(User user) {
    userRepository.save(user);
}

缓存注解应用

在Service层使用@Cacheable等注解实现缓存:

查询缓存

@Service
public class UserService {
    @Cacheable(value = "users", key = "#id")
    public User getUser(String 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(String id) {
    userRepository.deleteById(id);
}

测试验证

编写测试类验证功能:

@SpringBootTest
public class RedisTest {
    @Autowired
    private UserService userService;
    @Test
    public void testCrud() {
        User user = new User();
        user.setId("1");
        user.setName("Alice");
        userService.addUser(user);
        User cachedUser = userService.getUser("1");
        Assertions.assertNotNull(cachedUser);
    }
}

关键注解说明

通过以上步骤即可实现Spring Boot与Redis注解的整合操作。注意缓存注解需在启动类添加@EnableCaching启用缓存功能。

到此这篇关于Spring Boot整合Redis注解,实战Redis注解使用的文章就介绍到这了,更多相关Spring Boot Redis注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文