【问题标题】:Can I get the data I want from the latest data from Redis?我可以从 Redis 的最新数据中得到我想要的数据吗?
【发布时间】:2019-10-31 18:50:44
【问题描述】:

我想知道 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,我想每100ms将它们带到最新的10~50条数据。

有什么方法可以从 Redis 获取它? 现在我使用生菜库。

【问题讨论】:

    标签: java redis lettuce


    【解决方案1】:

    借助 redis 中的 pub 和 sub 功能,您可以将数据存储在一个地方,并在特定的时间间隔提取这些数据。

    您可以使用 stackexcahnge.redis 将数据订阅到 mongodb 并使用 api 将其提交给您的客户

    可能还有其他解决方案,但我正在使用它并会推荐

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-01
      • 2020-09-11
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 2021-02-03
      • 1970-01-01
      • 2017-08-29
      相关资源
      最近更新 更多