springboot專案使用redis進行訊息的生產和消費(redis的訊息佇列)
阿新 • • 發佈:2022-03-24
首先需要先把資料快取在redis裡面
工具類
/** * 快取List資料 * @param key * @param value * @param <T> */ public <T> void setDataInfo(final String key, final T value ){ Long count = redisTemplate.opsForList().rightPush(key, value); }
/** * 遵循先進先出原則,逐一拿取快取在redis中的資料 *@param key * @return */ public String getListInfo(final String key){ String info = (String) redisTemplate.opsForList().leftPop(key); return info; }
controller層程式碼
//通過JSONObject資料格式從前端接收產生的訊息,呼叫工具類中的方法,將訊息存入到redis裡面(注意List其實相當於一個數組)
@RequestMapping("/setInfo") publicAjaxResult obtainRedisList(@RequestBody JSONObject jsonObject){ String data = (String)jsonObject.get("data"); redisCache.setDataInfo("data", data); return AjaxResult.success(); }
/** * 呼叫工具類中的方法消費訊息 * @return */ @RequestMapping("/getInfo") public AjaxResult gainRedisList(){ String data= redisCache.getListInfo("data"); return AjaxResult.success(data); }