我是 Scala 和 Redis 世界的新手,我正在尝试做一些简单的事情:
我想订阅一个 channel 以便在添加新 key 时收到通知(我的想法只是设置 key 并在添加 key 的 channel 中发布)。
当我在网站上阅读时,scala-redis是推荐版本中最新的,所以我决定使用它。
我在订阅部分遇到了一些问题。我有以下代码:
import com.redis._
val r = new RedisClient("localhost", 6379)
r.subscribe("modifications","modifications","subscribe")
我收到以下错误消息:
error: missing arguments for method subscribe in trait PubSub; follow this method with `_' if you want to treat it as a partially applied function
我正在查看文档,函数如下所示:
def subscribe(channel: String, channels: String*)(fn: PubSubMessage => Any) {
if (pubSub == true) { // already pubsub ing
subscribeRaw(channel, channels: _*)
} else {
pubSub = true
subscribeRaw(channel, channels: _*)
new Consumer(fn).start
}
}
老实说,我不知道我做错了什么。如果有人可以帮助我提出一些想法,那就太好了。
谢谢
最佳答案
你需要提供一个函数来处理接收到的消息:
r.subscribe("modifications","modifications","subscribe"){ m => println(m) }
不幸的是,大部分文档都在代码中,但如果您查看 PubSubDemo 可能会有所帮助或 PubSubSpec .
关于scala - Scala Redis 中的 PubSub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42848537/