引入Jedis
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
</dependency>
指令简介
rpush
blpop
Java使用Redis实现消息队列
import redis.clients.jedis.Jedis;
public class Producer {
private Jedis jedis;
private String queueName;
public Producer(String queueName) {
this.jedis = new Jedis("localhost", 6379);
this.queueName = queueName;
}
public void produce(String message) {
jedis.rpush(queueName, message);
}
}
import redis.clients.jedis.Jedis;
import java.util.List;
public class Consumer {
private Jedis jedis;
private String queueName;
public Consumer(String queueName) {
this.jedis = new Jedis("localhost", 6379);
this.queueName = queueName;
}
public String consume() {
List<String> result = jedis.blpop(0, queueName);
return result.get(1);
}
}
public class MainP {
public static void main(String[] args) {
Producer producer = new Producer("queue");
Thread producerThread = new Thread(() -> {
producer.produce("hello world");
});
producerThread.start();
}
}
public class MainC {
public static void main(String[] args) {
Consumer consumer = new Consumer("queue");
Thread consumerThread = new Thread(() -> {
while (true){
String message = consumer.consume();
System.out.println("消费消息: " + message);
}
});
consumerThread.start();
}
}