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

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

成都创新互联主营酒泉网站建设的网络公司,主营网站建设方案,app软件开发公司,酒泉h5微信小程序定制开发搭建,酒泉网站营销推广欢迎酒泉等地区企业咨询

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

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;

 private 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中进行对象的缓存

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


新闻标题:详解Java在redis中进行对象的缓存
链接地址:http://scyanting.com/article/igdehs.html