2.首页广告缓存更新
当tb_ad(广告)表的数据发生变化时,更新redis中的广告数据。
2.2实现思路
(1)修改数据监控微服务,监控tb_ad表,当发生增删改操作时,提取position值(广告位置key),发送到rabbitmq
(2)从rabbitmq中提取消息,通过OkHttpClient调用ad_update来实现对广告缓存数据的更新。
2.3 代码实现
2.3.1 发送消息到mq
(1)在rabbitmq管理后台创建队列 ad_update_queue ,用于接收广告更新通知
(2)引入rabbitmq起步依赖
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
</dependency>
(3)配置文件application.properties 添加内容
spring.rabbitmq.host=192.168.200.128
(4)新增rabbitMQ配置类
package com.changgou.canal.config;
import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.listener.QueuesNotAvailableException;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitMQConfig {
//定义队列名称
public static final String AD_UPDATE_QUEUE="ad_update_queue";
//声明队列
@Bean
public Queue queue(){
return new Queue