Как хранить или получать отсортированный список всех хешей по именам?
Как в редисе получать отсортированный список всех хешей по именам?
Что бы не тратить каждый раз время на сортировку на ноде, а при запросе в редис получать отсортированный список пользователей по именам?
Суть задачи - добавление пользователей через хеши и вывод их списка в алфавитном порядке имен
Román Mirilaczvili,
Есть хеши, которые добавляются с постоянным названием user и инкрементом числа от предыдущего
В хеше есть много свойств, но нас интересуют имена наших работников предприятия, чтобы при выводе данных мы получали их значение списком по алфавитному порядку
Эта задача несложно решается на ноде, но проблема состоит в том, что у нас каждый раз будет нагружаться сервер сложными вычислениями по сортировке на очень слабом пк
Можно эту задачу решить что-то вроде аналогии вью из sql, когда у нас всегда в кеше хранится другой вид отсортированной таблицы для получения быстрого ответа от редиса?
user1:
name -> 'Супчик Борис Иванович'
user2:
name -> 'Аркадьевич Виктор Петрович'
user3:
name -> 'Лепс Григорий Семенович'
user4:
name -> 'Борислав Никита Валерьевич'
AlexNew22, на сколько я понимаю, редис не предназначен для подобного рода сценариев.
В теории, ты можешь заранее всё отсортировать и положить в отдельную запись, где уже будет какой-нибудь sorted set или list.
Ещё ты можешь написать на луа хранимку, которая будет делать то же самое, и отдавать отсортированные данные.
Ещё ты можешь попробовать изменить структуру данных так, чтобы при получении этой структуры, данные были отсортированы.
Ещё можно посмотреть в сторону расширений самого редиса и индексы, но это уже какая-то магия (для моего новичкового взгляда).
Вроде в redisjson есть индексы по отдельным полям в json.
Ну и ещё ты можешь попробовать отказаться от redis конкретно в этой задаче.
Что-то мне подсказывает, что Redis не подходит для этих целей.
И сомневаюсь, что этот "очень слабый ПК" настолько слаб, что ему трудно выполнить сортировку при получении данных.