详解Java在redis中进行对象的缓存
时间:2020-10-24 11:55:29|栏目:JAVA代码|点击: 次
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 最重要布局管理器GridBagLayout的使用方法
栏 目:JAVA代码
本文标题:详解Java在redis中进行对象的缓存
本文地址:http://www.codeinn.net/misctech/15361.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




