Сохранить информацию в REDIS с помощью HSET и прочитать ее обратно в массив? - PullRequest
0 голосов
/ 13 июня 2019

Я знаю, как хранить данные в REDIS, и, к сожалению, я не знаю, как их прочитать и сохранить в массиве.

Вот пример того, что я пытаюсь достичь: Сначала сохраните данные в REDIS, используя HMSET:

HMSET product order01 "Red Shoes" price "5USD" quantity "2" time "02/02/2019"
HMSET product order02 "Green Shoes" price "4.99USD" quantity "1" time "03/02/2019"
HMSET product order03 "Yellow Shoes" price "4.99USD" quantity "3" time "04/02/2019"
HMSET product order04 "Pink Shoes" price "4.99USD" quantity "2" time "05/02/2019"

И потом, я понятия не имею, как сохранить их обратно в массив PHP.

Используя эту команду:

HGETALL product

Результат возвращен:

1) "order01"
2) "Red Shoes"
3) "price"
4) "4.99USD"
5) "quantity"
6) "2"
7) "time"
8) "05/02/2019"
9) "order02"
10) "Green Shoes"
11) "order03"
12) "Yellow Shoes"
13) "order04"
14) "Pink Shoes"

Мы можем видеть здесь, что существует много пропущенных ключей и значений, особенно для order02, 03 и 04. (Я подозреваю, что я не использую правильную команду? Так как мой объект должен хранить каждую строку с полной информацией в одном ключе) .

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

Для информации, я использую этот код для подключения к REDIS в PHP:

require 'classes/redis/src/Autoloader.php';
Predis\Autoloader::register();

$redis = new Predis\Client([
    'read_write_timeout' => 5
]);

$redis->hmset("product", "order01", "Red Shoes", "price", "5USD", "quantity", "2", "time", "02/02/2019");
//............ with other lines here
$redis->expire('product', 3600);

Ваша помощь будет оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...