欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-24 16:22:10
java在redis中进行对象的缓存一般有两种方法,这里介绍序列化的方法,个人感觉比较方便,不需要转来转去。 一、首先,在存储的对象上实现序列化的接口 pack...

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

以上所述是小编给大家介绍的java在redis中进行对象的缓存详解整合,希望对大家有所帮助