2015-10-16 21 views
3

我爲我的Heroku Java應用程序之一使用了Redis Cloud插件。我想聽我的應用程序的關鍵空間事件。我嘗試設置Jedis客戶端上的配置,但在使用嵌入式服務器的Redis我沒有得到任何通知如何在Redis Cloud上爲Heroku應用程序啓用notify-keyspace-events?

URI redisUri = new URI(REDIS_CLOUD_URL); 
    JedisPool pool = new JedisPool(new JedisPoolConfig(), 
      redisUri.getHost(), 
      redisUri.getPort(), 
      Protocol.DEFAULT_TIMEOUT, 
      redisUri.getUserInfo().split(":",2)[1]); 
    pool.getResource().getClient().configSet("notify-keyspace-events", "K$"); 

,我這樣做,我得到的通知。

RedisServer redisServer = RedisServer.builder().port(6379) 
      .setting("notify-keyspace-events K$") 
      .build(); 
    redisServer.start(); 

我想在Redis Cloud上設置類似的配置。 Redis Cloud或Jedis API是否具有相同的CLI?

回答

0

您可以在運行時更改某些Redis配置。我建議儘快設置配置變量爲您的應用程序會調用通過您的Redis的客戶端(例如node_redis :)

var client = redis.createClient(); 
client.config("SET", "notify-keyspace-events", "K$"); 

要查看您可以指定哪些事件,看看這裏:Redis-Notifications

相關問題