2017-03-17 70 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的文檔確實很差。謝謝。 –