2017-03-17 61 views
0

我是新来的Scala和Redis的世界,我试图做一些简单:PubSub的斯卡拉Redis的

我要订阅频道,以便在添加新密钥通知(我的想法是只需设置密钥并在频道中发布该密钥即可添加)。

正如我在网站上看到的,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 
    } 
    } 

说实话,我不知道我做错了什么。如果有人能够帮助我提出一些想法,那会很棒。

感谢

回答

2

您需要提供一个函数来处理收到的消息:

r.subscribe("modifications","modifications","subscribe"){ m => println(m) } 

不幸的是大多数的文件是在代码中,但如果你看看在PubSubDemo它可能会帮助或PubSubSpec

+0

这个API的文档确实很差。谢谢。 –