Я использую redis.py и задавался вопросом, как я могу сортировать по заданному полю. Я прочитал документацию и попытался использовать Google для примера, но не нашел ничего.redis.py - сортировка хэшей по определенным полям
В этом случае у меня есть список раз и соответствующие температуры. Для заданного диапазона «времени», скажем, от 1000 до 1100, я вернул бы самые высокие значения для temp 'для заданного диапазона раз, назначив его переменной hightemp. Аналогично, я хотел бы сделать это с lowtemp.
Можно ли это сделать в Redis, в отличие от перевода все обратно в память снова, как это было бы в случае, если я сортируется с помощью Python
import redis
red = redis.Redis()
red.hmset('temperature', {'time':900, 'temp':123})
red.hmset('temperature', {'time':930, 'temp':123})
red.hmset('temperature', {'time':1000, 'time':121})
red.hmset('temperature', {'time':1030, 'time':125})
red.hmset('temperature', {'time':1100, 'time':126})
red.hmset('temperature', {'time':1130, 'time':127})
red.hmset('temperature', {'time':1200, 'time':128})
Чтобы рассчитать температуру min и max, правильный тип не требуется. Простая проверка O (n) в Python в списке температур немного лучше: maxt, mint = max (температуры), min (температуры) –
Спасибо @DidierSpezia, обновлено! –
Спасибо! Я изначально использовал этот метод, но я согласен, это кажется грязным. Тем не менее, я действительно не думаю, что есть лучший способ. Пока я переназначаю и перезаписываю переменные для «результата» и «температуры», я должен быть в порядке для ресурсов, я полагаю. Это может привести к массивной работе с температурами в разных областях. – snakesNbronies