模拟 python用redis有序集合实现手机销量排名
import redis
r = redis.Redis(host='127.0.0.1',port=6379,db=0)
day01_dict = {
'huawei':5000,
'oppo':4000,
'iphone':3000,
}
day02_dict = {
'huawei':5200,
'oppo':4300,
'iphone':3300,
}
day03_dict = {
'huawei':5500,
'oppo':4700,
'iphone':3700,
}
r.zadd('mobile-001',day01_dict)
r.zadd('mobile-002',day02_dict)
r.zadd('mobile-003',day03_dict)
r.zunionstore('mobile001:003',('mobile-001','mobile-002','mobile-003'),aggregate='max')
r_list = r.zrevrange('mobile001:003',0,2,withscores=True)
i = 1
for name in r_list:
print('第{}名:{} 销量:{}‘。format(
i,
name[0].decode(),
int(name[1])
))
i += 1