我想知道Redis数据的偏移量,例如kafka使用者中的偏移量。 下面的代码是使用Kafka Consumer和offset来导入最新的n个数据的代码。
public ConsumerRecords<String, String> getLatestMessages() {
ConsumerRecords<String, String> messages = null;
consumer.seekToEnd(topics);
long endPosition = consumer.position(topicPartition);
long startPosition = endPosition - 10;
consumer.seek(topicPartition, startPosition);
messages = consumer.poll(Duration.ofMillis(100));
return messages;
}
我可以像这样的代码从Redis获取n个数据吗?
在排序集中可以看到类似的方法,但这不是我想要的功能。 我想将大量日志实时存储到Redis,并且希望每100毫秒将它们带到最新的10〜50数据。
有什么办法可以从Redis获得它吗? 现在我用生菜库。
答案 0 :(得分:0)
借助redis中的pub和sub功能,您可以将数据存储在一个位置,并按特定的时间间隔提取这些数据。
您可以使用stackexcahnge.redis将数据订阅到mongodb并使用api将其提交给客户
可能还有其他解决方案,但我正在那样使用,并且会推荐