2015-05-09 14 views
5

redis ordered set oluşturmaya çalışıyorum. Yakalama, iki kritere, zaman damgasına ve skora göre yapılması gereken sipariştir. Birden çok ölçüt temel alınarak Redis'te ayarlanan sipariş sayısı

ZADD {key} {timestamp} {value} 

nasıl plz de bu sıralamada puanı eklemek için: Ama REDIS içinde, sadece bir Soring kriterlerini sağlayabilir?

Güncelleme: İşte Tek bir şamandıra puanı değerine iki farklı sipariş faktoring birleştirme almış yaklaşımdır:

var score = Math.floor(result.created_time/(60*60*24*1000)); 
score = score + (result.matches/10); 

Sadece açıklamak için, ilk sayısıyla damgası çevirdim günler. Ve 'kibritler' değeri genellikle 0-10'dur. Böylece, ondalık bir değere dönüştürülür ve fraksiyon ağırlığı olarak eklenir. Günlük olarak en yüksek puan alan girişler. Tam olarak ihtiyacım olan şey bu.

cevap

4

Sayıları, Sıralı Kümenizdeki puanlar olarak kullanın - zaman damgasını, ondalık işaretin solundaki değer ve sağdaki değer ile oluştur.

+0

İpucu için teşekkürler. Bu tür benim için genel bir puan oluşturmama yardımcı oldu. Sorumu aldığım yaklaşımla güncelliyorum. – Rana

+0

Çok güzel :) BTW, bu hile kesinlikle Redis IMO'daki en basit, en etkili ve çoğu zaman ihmal edilenlerden biri. –

İlgili konular