使用Aerospike作为数据库构建实时仪表板。 Aerospike提供了一种在记录上创建UDF然后对其进行流处理的方法。
我无法弄清楚UI层是否可以使用此流。很有可能它将是一个基于PHP的UI。
PHP UI组件如何使用Aerospike的Stream UDF?
答案 0 :(得分:2)
要存储连续添加的基于时间的事件,应利用Aerospike的Map或List数据类型。
我已经发布了using Maps to capture and query events(用Python编写)的示例。对于PHP客户端,存在相同的Map操作。
如果将这些事件存储在以毫秒时间戳为键的映射中,则可以使用Aerospike::operate()
方法(操作为Aerospike::OP_MAP_GET_BY_KEY_RANGE
)来获取PHP中两个时间戳之间的所有事件。
$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);
要从多个键中检索,您需要依次对每个键进行此调用。