詳解Java在redis中進(jìn)行對(duì)象的緩存
Java在redis中進(jìn)行對(duì)象的緩存一般有兩種方法,這里介紹序列化的方法,個(gè)人感覺比較方便,不需要轉(zhuǎn)來(lái)轉(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ì)象的緩存詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
只需兩步實(shí)現(xiàn)Eclipse+Maven快速構(gòu)建第一個(gè)Spring Boot項(xiàng)目
這篇文章主要介紹了只需兩步實(shí)現(xiàn)Eclipse+Maven快速構(gòu)建第一個(gè)Spring Boot項(xiàng)目,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-12-12
手工體驗(yàn)smtp和pop3協(xié)議 郵件實(shí)現(xiàn)詳解(二)
POP3/IMAP協(xié)議定義了郵件客戶端軟件和POP3郵件服務(wù)器的通信規(guī)則,這篇文章我們就來(lái)手工體驗(yàn)SMTP和POP3協(xié)議的奧秘,感興趣的小伙伴們可以參考一下2017-10-10
Java動(dòng)態(tài)代理四種實(shí)現(xiàn)方式詳解
這篇文章主要介紹了Java四種動(dòng)態(tài)代理實(shí)現(xiàn)方式,對(duì)于開始學(xué)習(xí)java動(dòng)態(tài)代理或者要復(fù)習(xí)java動(dòng)態(tài)代理的朋友來(lái)講很有參考價(jià)值,有感興趣的朋友可以參考一下2021-04-04
一文掌握Spring中循環(huán)依賴與三級(jí)緩存
這篇文章主要介紹了Spring中循環(huán)依賴與三級(jí)緩存,Spring通過三級(jí)緩存解決了循環(huán)依賴,其中一級(jí)緩存為單例池,二級(jí)緩存為早期曝光對(duì)象earlySingletonObjects,三級(jí)緩存為早期曝光對(duì)象工廠(singletonFactories),本文結(jié)合實(shí)例代碼介紹的非常詳細(xì),需要的朋友參考下吧2023-09-09
SpringBoot3和ShardingSphere5框架實(shí)現(xiàn)數(shù)據(jù)分庫(kù)分表
這篇文章主要介紹了SpringBoot3和ShardingSphere5框架實(shí)現(xiàn)數(shù)據(jù)分庫(kù)分表的相關(guān)資料,需要的朋友可以參考下2023-08-08
MyBatis?resultMap?id標(biāo)簽的錯(cuò)誤使用方式
這篇文章主要介紹了MyBatis?resultMap?id標(biāo)簽的錯(cuò)誤使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
詳解基于java的Socket聊天程序——初始設(shè)計(jì)(附demo)
本篇文章主要介紹了Socket聊天程序——初始設(shè)計(jì)(附demo),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-12-12
SpringBoot 對(duì)象存儲(chǔ) MinIO的詳細(xì)過程
MinIO 是一個(gè)基于 Go 實(shí)現(xiàn)的高性能、兼容 S3 協(xié)議的對(duì)象存儲(chǔ),它適合存儲(chǔ)海量的非結(jié)構(gòu)化的數(shù)據(jù),這篇文章主要介紹了SpringBoot 對(duì)象存儲(chǔ) MinIO,需要的朋友可以參考下2023-07-07

