redis排序问题,请各位不吝赐教
阿神
阿神 2017-04-21 10:57:20
0
4
565
redis localhost:6379> sadd userlist 1 
(integer) 1 
redis localhost:6379> sadd userlist 2 
(integer) 1 
redis localhost:6379> sadd userlist 3 
(integer) 1 
redis localhost:6379> sadd userlist 4 
(integer) 1

redis localhost:6379> sadd userlist 5
(integer) 1

redis localhost:6379> set score:user:1 20 
OK 
redis localhost:6379> set score:user:2 15 
OK 
redis localhost:6379> set score:user:3 11 
OK 
redis localhost:6379> set score:user:4 24 
OK

redis localhost:6379> set score:user:5 15
OK


redis localhost:6379> set age:user:1 29 
OK 
redis localhost:6379> set age:user:2 35 
OK 
redis localhost:6379> set age:user:3 25 
OK 
redis localhost:6379> set age:user:4 31

OK

redis localhost:6379> set age:user:5 27
OK

如上redis结构,如何实现sort的时候根据score倒排序,如果score相等(上面user2和user5的score相等),那么按照age正排序?

期望最后得到的userid排序结果为:

4

1

5

2

3

请问各位:这样的命令该如何写,或者有没有比较好的解决方案

阿神
阿神

闭关修行中......

membalas semua(4)
巴扎黑

Anda boleh menganggap set diisih hanyalah koleksi dan set itu sendiri tidak diisih, manakala set diisih menyokong pengisihan, mengikut skor

Peter_Zhu

isih senarai pengguna mengikut skor:pengguna:* desc

刘奇

Kekalkan dua zset
Isih mengikut umur: zadd sort_user_age nama pengguna umur
Isih mengikut skor: zadd sort_user_score markah nama pengguna

Kemudian simpan maklumat pengguna dalam format rentetan, susun mengikut cara tertentu dan kemudian pergi ke mget.

小葫芦

Jika anda ingin mengisih, anda mesti menggunakan zadd, tetapi apa yang anda katakan lebih rumit. Anda perlu memikirkannya

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan