您好,登錄后才能下訂單哦!
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中進行對象的緩存詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。