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);
    }

 

posted @ 2022-03-24 20:31  小样儿i  阅读(505)  评论(0)    收藏  举报