Что эквивалентно `redis — zADD` в аэроспайке с использованием Stack Overflow

Я новичок в аэроспайке, и у меня есть несколько вопросов, некоторые вещи, которые я не мог понять из документации.

Я пытался сделать что-то симларное на аэроспайке (см. Пример ниже), но я не уверен, что это правильный путь:

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..
  1. как сделать базу данных по аэроспайкам похожей $cache_key = "some.cache_key.1111"; число 1111 может время от времени меняться, но с другими данными (ключ / значение)?

  2. Как я могу перебрать все ключ / значение в корзинах?

« `

$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)
}
}
}
}

Спасибо

0

Решение

Aerospike поддерживает операции типа ZLIST через SortedMap тип данных. Тем не менее, PHP-клиент еще не полностью реализовал API карты или списка.

Посмотрите на реализацию клиента Python функции карты.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector