Я новичок в аэроспайке, и у меня есть несколько вопросов, некоторые вещи, которые я не мог понять из документации.
Я пытался сделать что-то симларное на аэроспайке (см. Пример ниже), но я не уверен, что это правильный путь:
Redis клиент:
$cache_key = "some.cache_key.1111";
$multi->zAdd($cache_key,534,"39e9a447af489f97d5047ba5aa304ec7");
Redis команда:
ZRANGE some.cache_key.1111 0 -1 withscores
133683) "39e9a447af489f97d5047ba5aa304ec7"133684) "534"and so on..
как сделать базу данных по аэроспайкам похожей $cache_key = "some.cache_key.1111";
число 1111
может время от времени меняться, но с другими данными (ключ / значение)?
Как я могу перебрать все ключ / значение в корзинах?
« `
$key = $db->initKey('test','votes','pk');
$bins = [ 'my_bin'=> ['6d69f5c66fb77c561059600f24664669' => 2222 ]];
$status = $db->put($key, $bins);
if ($status !== Aerospike::OK) {
var_dump($status, $db->error());
}
$key = $db->initKey('test','votes','pk');
$bins = [ 'another_bin'=> ['6d69f5c66fb77c561059600f2466466a' => 333 ]];
$status = $db->put($key, $bins);
if ($status !== Aerospike::OK) {
var_dump($status, $db->error());
exit(1);
}
$status = $db->get($key, $record);
var_dump($record);
« `
Выход:
array(3) {
'key' =>
array(4) {
'ns' =>
string(4) "test"'set' =>
string(15) "votes"'key' =>
NULL
'digest' =>
string(20) "����4�)q\�\000 ꤑ>��"}
'metadata' =>
array(2) {
'ttl' =>
int(2592000)
'generation' =>
int(28)
}
'bins' =>
array(2) {
'my_bin' =>
array(1) {
'6d69f5c66fb77c561059600f24664669' =>
int(2222)
}
'another_bin' =>
array(1) {
'6d69f5c66fb77c561059600f2466466a' =>
int(333)
}
}
}
}
Спасибо
Aerospike поддерживает операции типа ZLIST через SortedMap тип данных. Тем не менее, PHP-клиент еще не полностью реализовал API карты или списка.
Посмотрите на реализацию клиента Python функции карты.
Других решений пока нет …