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

 更新时间:2019年03月26日 09:28:11   作者:pj小小码农  
这篇文章主要介绍了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<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中绝对值函数的介绍与其妙用

    Java中绝对值函数的介绍与其妙用

    这篇文章主要给大家介绍了Java中绝对值函数的介绍与其妙用,其中包括绝对值函数用来获取表达式的绝对值和绝对值函数实现降序+升序输出。文章末尾给出了实例介绍,有需要的朋友们可以参考学习,下面来一起看看吧。
    2017-01-01
  • 只需两步实现Eclipse+Maven快速构建第一个Spring Boot项目

    只需两步实现Eclipse+Maven快速构建第一个Spring Boot项目

    这篇文章主要介绍了只需两步实现Eclipse+Maven快速构建第一个Spring Boot项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 手工体验smtp和pop3协议 邮件实现详解(二)

    手工体验smtp和pop3协议 邮件实现详解(二)

    POP3/IMAP协议定义了邮件客户端软件和POP3邮件服务器的通信规则,这篇文章我们就来手工体验SMTP和POP3协议的奥秘,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Java动态代理四种实现方式详解

    Java动态代理四种实现方式详解

    这篇文章主要介绍了Java四种动态代理实现方式,对于开始学习java动态代理或者要复习java动态代理的朋友来讲很有参考价值,有感兴趣的朋友可以参考一下
    2021-04-04
  • 一文掌握Spring中循环依赖与三级缓存

    一文掌握Spring中循环依赖与三级缓存

    这篇文章主要介绍了Spring中循环依赖与三级缓存,Spring通过三级缓存解决了循环依赖,其中一级缓存为单例池,二级缓存为早期曝光对象earlySingletonObjects,三级缓存为早期曝光对象工厂(singletonFactories),本文结合实例代码介绍的非常详细,需要的朋友参考下吧
    2023-09-09
  • SpringBoot3和ShardingSphere5框架实现数据分库分表

    SpringBoot3和ShardingSphere5框架实现数据分库分表

    这篇文章主要介绍了SpringBoot3和ShardingSphere5框架实现数据分库分表的相关资料,需要的朋友可以参考下
    2023-08-08
  • MyBatis resultMap id标签的错误使用方式

    MyBatis resultMap id标签的错误使用方式

    这篇文章主要介绍了MyBatis resultMap id标签的错误使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Spring Hystrix熔断报警原理图例解析

    Spring Hystrix熔断报警原理图例解析

    这篇文章主要介绍了Spring Hystrix熔断报警原理图例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 详解基于java的Socket聊天程序——初始设计(附demo)

    详解基于java的Socket聊天程序——初始设计(附demo)

    本篇文章主要介绍了Socket聊天程序——初始设计(附demo),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • SpringBoot 对象存储 MinIO的详细过程

    SpringBoot 对象存储 MinIO的详细过程

    MinIO 是一个基于 Go 实现的高性能、兼容 S3 协议的对象存储,它适合存储海量的非结构化的数据,这篇文章主要介绍了SpringBoot 对象存储 MinIO,需要的朋友可以参考下
    2023-07-07

最新评论