詳解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中進行對象的緩存詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
只需兩步實現Eclipse+Maven快速構建第一個Spring Boot項目
這篇文章主要介紹了只需兩步實現Eclipse+Maven快速構建第一個Spring Boot項目,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
SpringBoot3和ShardingSphere5框架實現數據分庫分表
這篇文章主要介紹了SpringBoot3和ShardingSphere5框架實現數據分庫分表的相關資料,需要的朋友可以參考下2023-08-08
詳解基于java的Socket聊天程序——初始設計(附demo)
本篇文章主要介紹了Socket聊天程序——初始設計(附demo),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12

