package com.ruoyi.demo.controller; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.utils.redis.RedisUtils; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; 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 */ @Tag(name ="Redis发布订阅 演示案例", description = "Redis发布订阅") @RequiredArgsConstructor @RestController @RequestMapping("/demo/redis/pubsub") public class RedisPubSubController { @GetMapping("/pub") public R pub(@Parameter(name = "通道Key") String key, @Parameter(name = "发送内容") String value) { RedisUtils.publish(key, value, consumer -> { System.out.println("发布通道 => " + key + ", 发送值 => " + value); }); return R.ok("操作成功"); } @GetMapping("/sub") public R sub(@Parameter(name = "通道Key") String key) { RedisUtils.subscribe(key, String.class, msg -> { System.out.println("订阅通道 => " + key + ", 接收值 => " + msg); }); return R.ok("操作成功"); } }