健身知识资讯 >> 正文

Redis 实现简单的消息队列应用

网络 健身知识 2年前 0
摘要:

今天给大家说说关于Redis 实现简单的消息队列应用的内容,Redis张俊以简历 实现简单的消息队列异步消息队列说道消息队列,你肯定会想到Kafka、Rabbitmq等二百五玩网游消息中间件,这些专业的消息中 ,下面我们来看看本文究竟说了些什么,有没有对您有点帮助。

Redis张俊以简历 实现简单的消息队列

异步消息队列

说道消息队列,你肯定会想到Kafka、Rabbitmq等二百五玩网游消息中间件,这些专业的消息中间件提供了很多功能特性,当然他的部署使用维护都是比较麻烦的。如果你对消息队列没那么高要求,想要轻量级的,使用Redis就没错啦。

Redis通过list数据结构来实现消息队列.主要使用到如下命令:

    private static Logger log = LoggerFactory.getLogger(MQServiceImpl.class); private static final String MESSAGE_KEY = "message:queue"; @Autowired private RedisTemplate redisTemplate; @Override public void produce(String data) { redisTemplate.opsForList().leftPush(MESSAGE_KEY,data); }

    消息消费

    @Override public void consume() { String data = (String) redisTemplate.opsForList().rightPop(MESSAGE_KEY); log.info("consume : {}",data); }

    测试

    @RestController@RequestMapping(value = "/mqapi")public class MQController { @Autowired private 呼伦贝尔学院广场舞MQService mqService; @GetMapping("/produce") public void produce(@RequestParam(name = "key") String key) { mqService.produce(key); } @GetMapping("/consume") public void cosume() throws InterruptedException { while (true) { mqService.consume(); Thread.sleep(10000); } }}

    代码已上传到码云上,欢迎star

    https://gitee.com/msetget/redis-bpush.git
    相庭可可
// Redis 实现简单的消息队列应用 //

版权申明:本文来自链接
*如若侵犯了原著者的合法权益,可联系本站处理,仅供大家学习与参考,不代表本站立场。