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