首页 > 解决方案 > Aerospike:有没有办法将流 UDF 发布到 UI?

问题描述

使用 aerospike 作为数据库构建实时仪表板。Aerospike 提供了一种在记录上创建 UDF 然后流式传输的方法。

我无法弄清楚这个流是否可以被 UI 层以任何方式使用。很可能它将是一个基于 PHP 的 UI。

PHP UI 组件如何使用 aerospike 的 Stream UDF?

标签: aerospike

解决方案


要存储持续添加的基于时间的事件,您应该利用 Aerospike 的 Map 或 List 数据类型。

我已经发布了一个使用地图捕获和查询事件的示例(用 Python 编写)。PHP 客户端也存在相同的 Map 操作。

如果将这些事件存储在以毫秒时间戳为键的映射中,则可以在 PHP 中使用Aerospike::operate()操作为 的方法获取两个时间戳之间的所有事件Aerospike::OP_MAP_GET_BY_KEY_RANGE

$key = $client->initKey("test", "usrhist", 1234);
$operations = [
  ["op" => Aerospike::OP_MAP_GET_BY_KEY_RANGE, "bin" => "events", "key" => 1523474236006, "range_end" => 1523474399000]
];
$options = [];
$status = $client->operate($key, $operations, $returned, $options);

要从多个键中检索,您将依次对它们中的每一个进行此调用。


推荐阅读