1. 程式人生 > 其它 >springboot專案使用redis進行訊息的生產和消費(redis的訊息佇列)

springboot專案使用redis進行訊息的生產和消費(redis的訊息佇列)

首先需要先把資料快取在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") public
AjaxResult 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); }