java在redis中進行對象的緩存一般有兩種方法,這里介紹序列化的方法,個人感覺比較方便,不需要轉來轉去。
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 {
/**
* 序列化
*/
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 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中進行對象的緩存詳解整合,希望對大家有所幫助
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态