首页 > 中间件 > redis通过多个属性进行排序

redis通过多个属性进行排序

作者:bin

例如车辆有,价值(price)和长度(length)2个属性,我们需要分别根据这两个属性进行排序,
添加a、b、c,3辆车

127.0.0.1:6379> sadd car a b c 
(integer) 3

添加hash,用于保存车辆的价值(price)和长度(length)

127.0.0.1:6379> hmset aCar price 100 length 200
OK
127.0.0.1:6379> del bCar
(integer) 1
127.0.0.1:6379> hmset bCar price 200 length 100
OK
127.0.0.1:6379> del cCar
(integer) 1
127.0.0.1:6379> hmset cCar price 150 length 300
OK

注意排序命令中的*号,即替换为KeyA后对应的值

sort keyA by *Key->feild ASC

例如:下面 * 为a 时,对应 aCar的值,为b时,对应bCar的值
使用车价格降序排列

127.0.0.1:6379>  sort car by *Car->price  DESC
1) "b"
2) "c"
3) "a"

使用车的长度升序排列

127.0.0.1:6379> sort car by *Car->length ASC
1) "a"
2) "b"
3) "c"

您必须 [ 登录 ] 才能发表留言!