为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕少森 2023-04-16 22:18:38
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 OKredis localhost:6379> set score:user:5 15OKredis 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 31OKredis localhost:6379> set age:user:5 27OK如上redis结构,如何实现sort的时候根据score倒排序,如果score相等(上面user2和user5的score相等),那么按照age正排序?期望最后得到的userid排序结果为:4 1 5 2 3
查看完整描述

2 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

你可以考虑下sorted set,set只是集合,本身是无排序的,而sorted set是支持排序的,根据score

查看完整回答
反对 回复 2023-04-20
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

维护两个zset
按age排序: zadd sort_user_age username age
按score排序: zadd sort_user_score username score

然后把用户的信息以string方式保存,按照某种排序方式然后去mget.


查看完整回答
反对 回复 2023-04-20
  • 2 回答
  • 0 关注
  • 202 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信