Использование redis-rb, как я могу нажать хэш в список? Должен ли я использовать JSON для кодирования или поддерживается ли это? Если да, то как я могу это сделать? Я вижу только метод hset с ключами и парами ключ/значение.
Спасибо
Ответ 1
Сохранение любого объекта (а не только хэша) в качестве кодированной строки JSON является одним из способов сделать это.
Если ваш вариант использования позволяет это, вы также можете хранить хеш-идентификаторы в списке и использовать SORT GET для получения дополнительных значений.
Список Redis аналогичен Ruby Array. У него нет ключей.
Как обсуждалось в redis-rb documentation, если вы хотите сохранить объект Ruby в значении Redis, вам необходимо его сериализовать сначала используя, например, JSON:
Сохранение объектов
Redis сохраняет только значения в качестве значений. Если вы хотите сохранить объект внутри ключа, вы можете использовать механизм сериализации/десарализации, например JSON:
Другой вариант - сохранить его в качестве хэша Redis, как вы упомянули, используя, например, HMSET, но если ваша единственная цель - хранить и извлекать объект (а не выполнять операции Redis на нем), это лишнее.