Redis实现简单队列和发布订阅
1.Redis实现简单队列(先进先出)
主要是利用list特性:
lpush,rpush操作入队列,,,,,
lpop,rpop操作出队列,,,,
但是当队列为空时,lpop和rpop会一直空轮训,消耗资源;
所以引入阻塞读blpop和brpop(b代表blocking),阻塞读在队列没有数据的时候进入休眠状态,
一旦数据到来则立刻醒过来,消息延迟几乎为零
2.Redis实现发布订阅
1).使用Redis实现的发布,
其实就是通过redisTemplate.convertAndSend()方法实现
2).使用Redis实现的订阅者,需要两个步骤: 第一,定义消息监听器,需要实现MessageListener接口,重写onMessage()方法,该方法即是用来处理监听结果的代码块 第二,需要配置RedisMessageListenerContainer容器,即把消息监听器添加到容器中, 并添加监听器监听的主题