這期內容當中小編將會給大家帶來有關添加redis緩存的方法,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創新互聯公司是一家集網站建設,云安企業網站建設,云安品牌網站建設,網站定制,云安網站建設報價,網絡營銷,網絡優化,云安網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
redis常本用來作為緩存服務器。緩存的好處是減少服務器的壓力,數據查詢速度快。解決數據響應慢的問題。
添加緩存:只用redis的Hash數據類型添加緩存。
例如:需要在查詢的業務功能中,添加緩存
1.首先需要在執行正常的業務邏輯之前(查詢數據庫之前),查詢緩存,如果緩存中沒有需要的數據,查詢數據庫
為了防止添加緩存出錯,影響正常業務代碼的執行,將添加緩存的代碼放置到try-catch代碼快中,讓程序自動捕獲。
2.完成數據庫的查詢操作,查詢完成之后需要將查詢的數據添加到緩存中。
代碼:
@Override public List<TbContent> findContentByCategoryId(Long categoryId) { // 查詢出的內容列表可以添加到緩存中,便于展示,為了保證添加緩存出現錯誤不影響程序的正常業務功能,可以使用try catch的方式加緩存 try { String json = jedisClient.hget(CONTENT_LIST, categoryId + ""); if (json != null) { List<TbContent> list = JsonUtils.jsonToList(json, TbContent.class); return list; } } catch (Exception e) { e.printStackTrace(); } TbContentExample example = new TbContentExample(); Criteria criteria = example.createCriteria(); criteria.andCategoryIdEqualTo(categoryId); // 使用selectByExampleWithBLOBs方法會將content屬性框中的內容也查詢出來 List<TbContent> list = contentMapper.selectByExampleWithBLOBs(example); // 操作完成后需要將查詢的內容添加到緩存中,因為添加緩存的過程可能出錯,所以使用try catch將異常拋出即可 // categoryId+""將Long類型的數據轉換成String類型的 try { jedisClient.hset(CONTENT_LIST, categoryId + "", JsonUtils.objectToJson(list)); } catch (Exception e) { e.printStackTrace(); } return list; }
Json轉換的工具類:
package nyist.e3.utils; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; /** * 淘淘商城自定義響應結構 */ public class JsonUtils { // 定義jackson對象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * 將對象轉換成json字符串。 * <p>Title: pojoToJson</p> * <p>Description: </p> * @param data * @return */ public static String objectToJson(Object data) { try { String string = MAPPER.writeValueAsString(data); return string; } catch (JsonProcessingException e) { e.printStackTrace(); } return null; } /** * 將json結果集轉化為對象 * * @param jsonData json數據 * @param clazz 對象中的object類型 * @return */ public static <T> T jsonToPojo(String jsonData, Class<T> beanType) { try { T t = MAPPER.readValue(jsonData, beanType); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 將json數據轉換成pojo對象list * <p>Title: jsonToList</p> * <p>Description: </p> * @param jsonData * @param beanType * @return */ public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) { JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); try { List<T> list = MAPPER.readValue(jsonData, javaType); return list; } catch (Exception e) { e.printStackTrace(); } return null; } }
上述就是小編為大家分享的添加redis緩存的方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。
網站標題:添加redis緩存的方法
當前路徑:http://vcdvsql.cn/article44/pdhiee.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、定制網站、App設計、網站制作、響應式網站、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯