Java存储数据至Rredis之@RedisHash实现过程

 更新时间:2025年10月16日 11:55:18   作者:匍匐前进の程序猿  
文章介绍了在项目启动时通过@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);

结果:

总结

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

相关文章

  • Maven默认使用JDK1.5的问题及解决方案

    Maven默认使用JDK1.5的问题及解决方案

    这篇文章主要介绍了Maven默认使用JDK1.5的问题及解决方案,本文给大家分享两种方式,通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 使用JavaWeb webSocket实现简易的点对点聊天功能实例代码

    使用JavaWeb webSocket实现简易的点对点聊天功能实例代码

    这篇文章主要介绍了使用JavaWeb webSocket实现简易的点对点聊天功能实例代码的相关资料,内容介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-05-05
  • RocketMQ存储文件的实现

    RocketMQ存储文件的实现

    这篇文章主要介绍了RocketMQ存储文件的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 详解Java中@Override的作用

    详解Java中@Override的作用

    这篇文章主要介绍了详解Java中@Override的作用的相关资料,希望通过本文能帮助到大家,让大家理解这部分内容,需要的朋友可以参考下
    2017-10-10
  • Spring全局异常捕获不生效问题的解决办法

    Spring全局异常捕获不生效问题的解决办法

    Spring项目全局异常处理不生效,登录接口报错异常信息被直接返回到接口响应中,本文给大家介绍了Spring全局异常捕获不生效问题的解决办法,文中有详细的图文介绍,需要的朋友可以参考下
    2024-04-04
  • SpringBoot项目实用功能之实现自定义参数解析器

    SpringBoot项目实用功能之实现自定义参数解析器

    这篇文章主要介绍了SpringBoot项目实用功能之实现自定义参数解析器,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • finally 一定会执行(实例代码)

    finally 一定会执行(实例代码)

    下面小编就为大家带来一篇finally 一定会执行(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • springboot 如何修改默认端口及application.properties常用配置

    springboot 如何修改默认端口及application.properties常用配置

    这篇文章主要介绍了springboot 如何修改默认端口及application.properties常用配置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • IDEA初次配置并导入gite码云的方法

    IDEA初次配置并导入gite码云的方法

    这篇文章主要介绍了IDEA初次配置并导入gite码云的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Java 高精度的大数字运算方式

    Java 高精度的大数字运算方式

    这篇文章主要介绍了Java 高精度的大数字运算方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论