首页 > 编程 > Java > 正文

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

2019-11-26 09:09:52
字体:
来源:转载
供稿:网友

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<SysUserEntity> { /**  * 序列化  */ 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; private String n_sex; private String n_status; private SysDepartmentEntity n_departmentId; @TableField(exist = false) private List<SysRoleEntity> 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中进行对象的缓存详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表