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"