Java存储数据至Rredis之@RedisHash实现过程
作者:匍匐前进の程序猿
文章介绍了在项目启动时通过@RedisHash注解,将Java对象映射为Redis中的Hash结构,实现数据的自动加载与管理,具体步骤包括引入依赖、创建实体类、实现Repository,并完成增删查改操作
最近有一个需求,需要在项目启动时,先加载一部分数据至Redis中。
思来想去,找到了一个比较合适的解决方案--------@RedisHash
@RedisHash是什么?
在使用Spring Data Redis 时,有一种注解 @RedisHash
,它是用于将 Java对象映射到 Redis中的散列结构(Hash)的注解。
通过使用 RedisHash
注解,我们可以轻松地将我们的Java对象存储到 Redis中,并进行读取、更新和删除操作。
1.引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2.创建实体类
/** * 员工信息缓存 */ @Data // 在对象实体类前面还需要添加@Data 注解,加上之后,就可以把数据对象以Hash类型存入Redis中。 @RedisHash(value = EmployeeCache.KEY_PREFIX) // 散列名称 public class EmployeeCache { public static final String KEY_PREFIX = "test:employee"; /** 员工在系统的用户名 */ @Id // 散列键 private String username; /** 员工姓名 */ private String name; /** 联系方式 */ private String phone; /** 员工状态(是否禁用) */ private String status; /** 岗位 */ private String position; /** 职务备注,表述职能*/ private String commit; /** 所属公司名称 */ private String companyName; /** 报修电话 */ private String repairPhoneOne; }
3.创建 Repository
新建Dao层接口,并继承CrudRepository
接口实现相关方法
public interface EmployeeCacheRepo extends JpaRepositoryImplementation<EmployeeCache, String> { }
此时,就可以使用 EmployeeCacheRepo 对 Redis中的 EmployeeCache 进行添删查改操作。
4.测试
// 新增方法 EmployeeCache employeeCache = new EmployeeCache(); employeeCache.setName("test"); employeeCacheRepo.save(employeeCache); // 查询方法 List<EmployeeCache> all = employeeCacheRepo.findAll(); System.out.println(all);
结果:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。