Aerospike: есть ли способ опубликовать потоковый UDF в пользовательском интерфейсе? - PullRequest
0 голосов
/ 04 октября 2018

Создание информационной панели в реальном времени с использованием аэроспайк в качестве базы данных.Aerospike предоставляет способ создания UDF для записи и последующей ее потоковой передачи.

Я не могу выяснить, может ли этот поток использоваться слоем пользовательского интерфейса каким-либо образом.Скорее всего, это будет пользовательский интерфейс на основе PHP.

Как Stream UDF в аэроспайке может использоваться компонентом пользовательского интерфейса PHP?

1 Ответ

0 голосов
/ 08 октября 2018

Чтобы хранить основанные на времени события, которые постоянно добавляются, вы должны использовать типы данных Aerospike's 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);

Чтобы извлечь из нескольких ключей, вы должны сделать этот вызов для каждого из них по очереди.

...