java redis stream
时间: 2023-12-15 22:32:03 浏览: 141
Java Redis Stream是Redis 5.0版本中新增的一种数据结构,它是一个高性能、持久化的消息队列,可以用于实现消息的发布和订阅。Java Redis Stream可以看作是一个有序的消息队列,每个消息都有一个唯一的ID,可以根据ID进行消息的查找、删除和确认。在Java Redis Stream中,消息以键值对的形式存储,可以存储任意类型的数据。Java Redis Stream还支持多个消费者组,每个消费者组可以独立消费消息,避免消息重复消费。Java Redis Stream的引入使得Redis在消息队列领域更具竞争力,同时也为开发者提供了一种高效、可靠的消息处理方式。
以下是Java Redis Stream的一些基本操作:
1.连接Redis服务器
```java
Jedis jedis = new Jedis("localhost", 6379);
```
2.发布消息
```java
String key = "mystream";
String message = "Hello, Redis Stream!";
String id = jedis.xadd(key, null, ImmutableMap.of("message", message));
System.out.println("Message ID: " + id);
```
3.消费消息
```java
String groupname = "mygroup";
String consumername = "myconsumer";
String key = "mystream";
String lastseen = "0";
jedis.xgroupCreate(key, groupname, lastseen, true);
List<StreamEntry> entries = jedis.xreadGroup(groupname, consumername, 1, 0, false, new AbstractMap.SimpleEntry<>(key, lastseen));
for (StreamEntry entry : entries) {
System.out.println("Message ID: " + entry.getID() + ", Message: " + entry.getFields().get("message"));
jedis.xack(key, groupname, entry.getID());
}
```
4.删除消息
```java
String key = "mystream";
String id = "1234567890-0";
jedis.xdel(key, id);
```
阅读全文