最近有一个需求,需要在项目启动时,先加载一部分数据至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);
结果:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论