当前位置: 首页 > 面试题库 >

想要使用Redis作为事件统计信息存储

端木阳荣
2023-03-14
问题内容

我对Redis真的很感兴趣,我有一个主意,想知道它是否合适,或者是否对数据存储没有其他建议。同样,关于存储数据的任何技巧将不胜感激。

我的想法只是一个简单的事件系统,因此发生了一个事件,并将其存储在redis中,如下所示

关键 值[unixtimestamp]:[系统]:[事件] | [结果]

数据可以是任何销售,印象数,错误,api响应时间,页面加载时间以及任何实时分析数据。然后,我希望能够基于该数据制作图形。


问题答案:

这不是理想的设计,因为它不能有效地支持您的读取模式,并且如果[结果]短/小,则可能在RAM方面浪费。相反,可以按照以下方式使用时间戳记作为得分的Redis 排序集:

ZADD [system]:[event] [timestamp] [result]

请注意,集合成员必须是唯一的,因此,如果[结果]的基数很低,请通过将时间戳串联起来(并在绘制图形时将其过滤掉)来使其唯一,即:

ZADD [system]:[event] [timestamp] [result]:[timestamp]

这样,您可以通过调用ZRANGEBYSCORE并绘制结果图形来获取测量范围。



 类似资料:
  • V2Ray 提供了一些关于其运行状况的统计信息。 StatsObject StatsObject 对应配置文件中的stats项。 { } 目前统计信息没有任何参数,只要StatsObject项存在,内部的统计即会开启。同时你还需要在 Policy 中开启对应的项,才可以统计对应的数据。 目前已有的统计信息如下: 用户数据 user>>>[email]>>>traffic>>>uplink 特定用

  • 问题内容: 我需要在类似json的对象中存储一些用户和文档状态信息。例如: 当用户登录或更改任何用户信息时,将从数据库中获取此信息并将其存储在会话的内存中。 我对Redis有一定的经验,我对使用它感到很满意,但是我想知道是否可以在Redis中完成以上操作而不会遇到太多麻烦。例如,这是我需要运行的一些查询: 您是否认为可以在Redis中执行上述操作,还是应该尝试使用其他方法(我认为是mongodb)

  • 我想尝试使用Cassandra作为事件源应用程序中的事件存储。我对事件存储的要求非常简单。事件“模式”应该是这样的: id:聚合根实体的id data:序列化的事件数据(例如JSON) 时间戳:事件发生时 sequence_number:事件的独特版本 我对卡桑德拉完全陌生,所以请原谅我对即将写的东西的无知。我只有两个查询,我想对此数据运行。 为我提供给定聚合根 ID 的所有事件 如果序列号为 我

  • 这个问题类似于将Kafka用作CQRS EventStore。好主意?,但更具体的实现。当我有数千个事件“源”(DDD中的聚合根)时,如何使用kafka作为事件存储?正如我在链接问题和其他一些地方读到的,我会有每个来源的主题的问题。如果我将事件按类型拆分到主题中,它将更容易使用和存储,但我需要访问特定源的事件流。如何用Kafka做事件来源?

  • 这很可能是我们自己的缺陷(可能是我们的bean配置Kafkapublisher/EventProcessorConfigurer),我们将解决这个问题,但在您看来,更大的问题是,是否可以让Cassandra与Axon一起工作。我记得在google groups论坛上看到一些帖子说,由于性能问题,没有考虑对Cassandra的支持。我们希望确保我们不会投资于那些将是一场噩梦或根本不是一个好的解决方案

  • 问题内容: 我正在尝试获取一些Cassandra / SPARK数据的最小,最大平均值,但我需要使用JAVA进行。 编辑以显示工作版本: 确保在“ someTable”和“ someKeyspace”周围添加“ 问题答案: 只需将您的数据导入为并应用所需的汇总即可: where 和分别存储表名和键空间。