"""\nimport redis.clients.jedis.{Jedis, JedisPubSub}\n\nobject RedisPubSubExample {\n def main(args: Array[String]): Unit = {\n // 创建Jedis对象\n val jedis = new Jedis("localhost", 6379)\n\n // 创建并启动订阅线程\n val subscriberThread = new Thread(new Subscriber(jedis))\n subscriberThread.start()\n\n // 模拟发布消息\n val publisherThread = new Thread(new Publisher(jedis))\n publisherThread.start()\n\n // 等待订阅线程结束\n subscriberThread.join()\n }\n}\n\nclass Subscriber(jedis: Jedis) extends Runnable {\n override def run(): Unit = {\n // 创建JedisPubSub对象\n val jedisPubSub = new JedisPubSub() {\n override def onMessage(channel: String, message: String): Unit = {\n println(s"Received message: $message from channel: $channel")\n }\n }\n\n // 订阅消息\n jedis.subscribe(jedisPubSub, "example-channel")\n }\n}\n\nclass Publisher(jedis: Jedis) extends Runnable {\n override def run(): Unit = {\n // 发布消息\n jedis.publish("example-channel", "Hello, Redis!")\n }\n}\n"""\n\n这个示例代码中,我们创建了一个Subscriber类和一个Publisher类来分别订阅和发布消息。在Subscriber类中,我们创建了一个JedisPubSub对象,并实现了onMessage方法来处理接收到的消息。在Publisher类中,我们使用jedis.publish方法来发布消息。\n\n在main方法中,我们创建了一个Jedis对象,并分别创建了一个订阅线程和一个发布线程。然后,我们启动订阅线程和发布线程,并等待订阅线程结束。\n\n当订阅线程接收到消息时,onMessage方法会被调用,并打印出接收到的消息。\n\n请确保已经正确安装和配置了Redis,并将Redis连接参数设置为正确的主机和端口。

Scala 发布和订阅 Redis Channel 消息示例

原文地址: https://www.cveoy.top/t/topic/p00n 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录