From 4dd235124dae878fbeb9338fc88724b5fc536797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Fri, 3 Sep 2021 16:22:04 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=20=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E8=AE=A2=E9=98=85=20=E6=BC=94=E7=A4=BA=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RedisPubSubController.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java new file mode 100644 index 000000000..a9144b46c --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java @@ -0,0 +1,44 @@ +package com.ruoyi.demo.controller; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.redis.RedisCache; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * Redis 发布订阅 演示案例 + * + * @author Lion Li + */ +@Api(value = "Redis发布订阅 演示案例", tags = {"Redis发布订阅"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/demo/redis/pubsub") +public class RedisPubSubController { + + private final RedisCache redisCache; + + @ApiOperation("发布消息") + @GetMapping("/pub") + public AjaxResult pub(String key, String value){ + redisCache.publish(key, value, consumer -> { + System.out.println("发布通道 => " + key + ", 发送值 => " + value); + }); + return AjaxResult.success("操作成功"); + } + + @ApiOperation("订阅消息") + @GetMapping("/sub") + public AjaxResult sub(String key){ + redisCache.subscribe(key, String.class, msg -> { + System.out.println("订阅通道 => " + key + ", 接收值 => " + msg.toString()); + }); + return AjaxResult.success("操作成功"); + } + +}