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);
结果:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
