Я пытаюсь создать redis ordered set. Захват - это необходимость упорядочивания, основанная на двух критериях, временной отметке и оценке. Но в redis, я могу указать только один критерий:Упорядоченный набор в Редисе по нескольким критериям
ZADD {key} {timestamp} {value}
Как добавить баллы в этот заказ, а также PLZ?
Update: Вот подход, который я взял, чтобы объединить два различных заказа факторинга в одно значение с плавающей точкой оценка:
var score = Math.floor(result.created_time/(60*60*24*1000));
score = score + (result.matches/10);
Просто объяснить, я сначала конвертируются метку времени к числу дней. И мое значение «match» обычно равно 0-10. Таким образом, преобразуется в десятичное значение и добавляется как вес фракции. Который дает мне самые высокие забитые записи, отсортированные в день. Это именно то, что мне нужно.
Спасибо за подсказку. Это помогло мне составить общий счет для меня. Я обновляю свой вопрос с помощью подхода, который я принял. – Rana
Очень круто :) Кстати, этот трюк, безусловно, один из самых простых, наиболее эффективных и часто забытых в Redis IMO –