Получение данных хэша Redis

моя среда разработки — это PHP-фреймворк Laravel, использующий клиентскую библиотеку predis.

Я, вероятно, упускаю из виду некоторые аспекты, и я новичок в Redis, однако мне кажется, что мне нужен хеш-тип данных для хранения пользовательской информации, например:

$redis->hmset('users', array('id' : 1, 'username' => 'ali', 'dob' => '29/06/89', 'email' => '[email protected]'));

Мой вопрос, однако, с вышеизложенным, является ли это правильным способом хранения всех пользователей с их информацией в одном хэше, чтобы я мог получить всех пользователей вместе и при необходимости получить отдельного пользователя по идентификатору, так как мне нужно отобразить всех пользователей в таблица на внешнем интерфейсе, но иногда необходимо захватить отдельного пользователя по его идентификатору.

Если нет, и мне нужно хранить каждого пользователя в отдельном хеше, как показано ниже, с указанным там идентификатором как частью ключа, как мне получить всех пользователей за один раз и заказать?

$redis->hmset('users:{id}', array('name' => 'ali', 'dob' => '29/06/89', 'email' => '[email protected]'));

Большое спасибо за любую помощь.

0

Решение

Как я уже сказал, я дал каждому пользователю идентификатор и сохранил их в формате users:{id},

Затем вы захотите сохранить все идентификаторы пользователя в наборе, или, возможно, отсортированный набор или список, если порядок имеет значение для вас, так что-то вроде

$redis->sadd('users', {user's id});

Это псевдо-код для хранения в наборе, потому что я не уверен в точном форматировании predis.

Затем, когда вы хотите получить всех пользователей, вы сначала делаете $redis->smembers('users') чтобы получить все идентификаторы пользователей, а затем выполнить итерацию по этим идентификаторам, чтобы получить все хеши пользователей.

1

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

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

По вопросам рекламы [email protected]