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