详解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线程安全和线程通信的特性,线程安全是多线程编程时的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况
    2022-05-05
  • SpringBoot下使用MyBatis-Puls代码生成器的方法

    SpringBoot下使用MyBatis-Puls代码生成器的方法

    这篇文章主要介绍了SpringBoot下使用MyBatis-Puls代码生成器的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Spring boot webService使用方法解析

    Spring boot webService使用方法解析

    这篇文章主要介绍了Spring boot webService使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 详解spring多线程与定时任务

    详解spring多线程与定时任务

    本篇文章主要介绍了spring多线程与定时任务,详细的介绍了spring多线程任务和spring定时任务,有兴趣的可以了解一下。
    2017-04-04
  • Java单例模式的线程安全,饿汉和懒汉模式详解

    Java单例模式的线程安全,饿汉和懒汉模式详解

    这篇文章主要为大家详细介绍了Java单例模式的线程安全,饿汉和懒汉模式。文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • SpringCloud Eureka服务发现实现过程

    SpringCloud Eureka服务发现实现过程

    这篇文章主要介绍了SpringCloud Eureka服务发现实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 使用Java实现一个解析CURL脚本小工具

    使用Java实现一个解析CURL脚本小工具

    文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KV Map结构,获取URL路径、请求类型,解析URL参数列表和Body请求体,感兴趣的小伙伴跟着小编一起来看看吧
    2025-02-02
  • SpringBoot静态资源映射规则浅析

    SpringBoot静态资源映射规则浅析

    这篇文章主要介绍了SpringBoot静态资源映射规则,今天在玩SpringBoot的demo的时候,放了张图片在resources目录下,启动区访问的时候,突然好奇是识别哪些文件夹来展示静态资源的, 为什么有时候放的文件夹不能显示,有的却可以
    2023-02-02
  • Tomcat+Eclipse乱码问题解决方法与步骤

    Tomcat+Eclipse乱码问题解决方法与步骤

    乱码问题是大家在日常开发过程中经常会遇到的问题,由于各自环境的不同,解决起来也费时费力,本文主要介绍一般性乱码问题的解决方法与步骤,开发工具采用Eclipse+Tomcat,统一设置项目编码UTF-8为例,感兴趣的朋友跟随小编一起看看吧
    2023-08-08
  • java中的Integer的toBinaryString()方法实例

    java中的Integer的toBinaryString()方法实例

    这篇文章主要介绍了java中的Integer的toBinaryString()方法实例,有需要的朋友可以参考一下
    2013-12-12

最新评论