創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供京山網(wǎng)站建設(shè)、京山做網(wǎng)站、京山網(wǎng)站設(shè)計、京山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、京山企業(yè)網(wǎng)站模板建站服務(wù),10余年京山做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。這篇文章主要為大家展示了Java如何用Redis存儲復雜json格式數(shù)據(jù)并返回給前端,內(nèi)容簡而易懂,下面讓小編帶大家一起學習一下吧。
問題背景
在Java Web項目中,經(jīng)常需要前端請求數(shù)據(jù),后臺從數(shù)據(jù)庫中查詢并計算最后返回json格式數(shù)據(jù)給前端。
而每次請求都需要計算一次可能比較浪費時間,這時我們可以將計算好的結(jié)果保存在redis中,下次請求時先判斷redis中是否已經(jīng)存在,如果是則直接從redis里取出返回,因為是在內(nèi)存中,所以比較快。
而自己在項目中遇到的json格式數(shù)據(jù)比較復雜,下面記錄一下redis存儲對象和json格式數(shù)據(jù)的幾種方式以及遇到的問題。
存儲方式
1. 直接使用String存儲
String類型是Redis中最簡單的類型了,每個key對應(yīng)一個String,我們可以直接將要存儲的對象轉(zhuǎn)換成json字符串,代碼如下:
//存儲 public static void setJsonString(String key, Object obj) { Jedis jedis = RedisConnection.getJedis(); jedis.set(key, JSON.toJSONString(obj)); jedis.close(); } //獲取 public static String getJsonString(String key) { Jedis jedis = RedisConnection.getJedis(); String value = jedis.get(key); jedis.close(); return value; }