在Java中監聽Redis某個數據可以使用Redis的發布/訂閱功能。
首先,你需要在Java中使用Jedis庫連接到Redis服務器。你可以使用以下代碼來連接到Redis服務器:
Jedis jedis = new Jedis("localhost", 6379);
然后,你需要創建一個新的線程來監聽Redis的消息。可以使用以下代碼來創建監聽器線程:
Thread listenerThread = new Thread(new Runnable() {
@Override
public void run() {
JedisPubSub jedisPubSub = new JedisPubSub() {
@Override
public void onMessage(String channel, String message) {
// 處理接收到的消息
System.out.println("Received message: " + message);
}
@Override
public void onSubscribe(String channel, int subscribedChannels) {
System.out.println("Subscribed to channel: " + channel);
}
@Override
public void onUnsubscribe(String channel, int subscribedChannels) {
System.out.println("Unsubscribed from channel: " + channel);
}
};
jedis.subscribe(jedisPubSub, "your-channel");
}
});
listenerThread.start();
在上面的代碼中,JedisPubSub
是一個抽象類,你需要重寫它的方法來處理接收到的消息。在onMessage
方法中,你可以處理接收到的消息。在onSubscribe
方法中,你可以處理訂閱通道的事件。
最后,你可以使用以下代碼來發布消息到Redis服務器:
jedis.publish("your-channel", "your-message");
這將會向名為"your-channel"的頻道發布一條消息。
注意:在你的Java程序中要保持Redis連接的活躍狀態,否則將無法接收到訂閱的消息。