详解Java在redis中进行对象的缓存

网友投稿 344 2023-01-10


详解Java在redis中进行对象的缓存

java在redis中进行对象的缓存一般有两种方法,这里介绍序列化的方法,个人感觉比较方便,不需要转来转去。

一、首先,在存储的对象上实现序列化的接口

package com.cy.example.entity.system;

import java.util.List;

import com.baomidou.mybatisplus.annotations.TableField;

import com.baomidou.mybatisplus.annotations.TableName;

import com.cy.example.entity.SuperEntity;

@TableName("users")

public class SysUserEntity extends SuperEntity {

/**

* 序列化

*/

private static final long serialVersionUID = -2967710007706812401L;

private String c_username;

private String c_pwd;

private String c_phone;

private String c_email;

private String n_age;

privAEyAeate String n_sex;

private String n_status;

private SysDepartmentEntity n_departmentId;

@TableField(exist = false)

private List roleList;// 一个用户具有多个角色

private SysUserEntity n_superior;

//省略getter、setter

}

二、进行存储的编写

// 存储对象

public void setObject(String key, Object obj) {

Jedis jedis = null;

try {

jedis = pool.getResource();

jedis.set(key.getBytes(), SerializeUtil.serialize(obj));

} catch (Exception e) {

logger.info("缓存服务器连接异常!");

e.printStackTrace();

} finally {

// 返还到连接池

jedis.close();

}

}

三、获取存储的对象

// 获取对象

public Object getObject(String key) {

byte[] obj = null;

Jedis jedis = null;

try {

jedis = pool.getResource();

obj = jedis.get(key.getBytes());

} catch (Exception e) {

logger.info("缓存服务器连接异常!");

e.printStackTrace();

} finally {

// 返还到连接池

jedis.close();

}

return SerializeUtil.unserialize(obj);

}

可以看到,redis中存储的是序列化之后的对象

以上所述是给大家介绍的Java在redis中进行对象的缓存详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微服务网关网关登录密码(网关 微服务)
下一篇:制造业研发管理平台软件(制造业研发管理平台软件哪个好)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~