溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

詳解Java在redis中進(jìn)行對(duì)象的緩存

發(fā)布時(shí)間:2020-08-30 07:16:04 來源:腳本之家 閱讀:207 作者:pj小小碼農(nóng) 欄目:編程語言

Java在redis中進(jìn)行對(duì)象的緩存一般有兩種方法,這里介紹序列化的方法,個(gè)人感覺比較方便,不需要轉(zhuǎn)來轉(zhuǎn)去。

一、首先,在存儲(chǔ)的對(duì)象上實(shí)現(xiàn)序列化的接口

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;// 一個(gè)用戶具有多個(gè)角色

 private SysUserEntity n_superior;

 //省略getter、setter
}

二、進(jìn)行存儲(chǔ)的編寫

// 存儲(chǔ)對(duì)象
 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("緩存服務(wù)器連接異常!");
   e.printStackTrace();
  } finally {
   // 返還到連接池
   jedis.close();
  }
 }

三、獲取存儲(chǔ)的對(duì)象

// 獲取對(duì)象
 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("緩存服務(wù)器連接異常!");
   e.printStackTrace();
  } finally {
   // 返還到連接池
   jedis.close();
  }
  return SerializeUtil.unserialize(obj);
 }

可以看到,redis中存儲(chǔ)的是序列化之后的對(duì)象

詳解Java在redis中進(jìn)行對(duì)象的緩存

以上所述是小編給大家介紹的Java在redis中進(jìn)行對(duì)象的緩存詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI