'''音乐播放排名'''
import redisr = redis.Redis(host='127.0.0.1', port=6379, password='123456', db=0)
r.zadd('ranking', {'song1': 1, 'song2': 1, 'song3': 1, 'song4': 1})
r.zadd('ranking', {'song5': 1, 'song6': 1, 'song7': 1})
r.zadd('ranking', {'song8': 1, 'song9': 1})
r.zincrby('ranking', 50, 'song3')
r.zincrby('ranking', 60, 'song5')
r.zincrby('ranking', 80, 'song7')
res = r.zrevrange('ranking', 0, 2, withscores=True)
i = 1
for j in res:print('第{}名是:{} 播放量:{}次'.format(i, j[0].decode(), int(j[1])))i += 1输出结果:
第1名是:song7 播放量:81次
第2名是:song5 播放量:61次
第3名是:song3 播放量:51次

 

'''京东商品畅销榜'''
import redisr = redis.Redis(host='127.0.0.1', port=6379, db=0, password=123456)
r.flushdb()
day01_dict = {'huawei': 5000, 'oppo': 4000, 'iphone': 3000}
day02_dict = {'huawei': 5200, 'oppo': 4300, 'iphone': 3230}
day03_dict = {'huawei': 5500, 'oppo': 4660, 'iphone': 3580}
r.zadd('mobile_day01', day01_dict)
r.zadd('mobile_day02', day02_dict)
r.zadd('mobile_day03', day03_dict)
r.zunionstore('mobile_day01:03', ('mobile_day01', 'mobile_day02', 'mobile_day03'), aggregate='max')
res = r.zrevrange('mobile_day01:03', 0, -1, withscores=True)
print(res)
i = 1
for r in res:print('第{}名:{}'.format(i, r[0].decode()))i += 1输出结果:
[(b'huawei', 5500.0), (b'oppo', 4660.0), (b'iphone', 3580.0)]
第1名:huawei
第2名:oppo
第3名:iphone

转载于:https://www.cnblogs.com/yuxiangyang/p/11199377.html

redis基础之有序集合应用相关推荐

  1. Redis数据结构之有序集合

    本文来说下Redis数据结构之集合 文章目录 概述 Redis有序集合的部分命令 相关命令 集合内 集合间 内部编码 ziplist(压缩列表) skiplist(跳跃表) 使用场景 本文参考 本文小 ...

  2. 对 Redis 中的有序集合SortedSet的理解

    本篇说一下Redis中的 有序集合类型,曾几何时,我们想把所有数据存到内存中的 数据结构 中,但为了多机器共享内存,不得不将这块内存包装成wcf单独部署,同时还要考虑怎么序列化,烦心事太多太多...后 ...

  3. redis 数据类型之有序集合(sorted set) 详细介绍

    Redis的有序集合(sorted set)同时具有"有序"和"集合"两种性质,这种数据结构中的每个元素都由一个成员和一个与成员相关联的分值组成,其中成员以字符 ...

  4. redis数据库hset(有序集合)类型常用命令

    redis数据库hset类型常用命令 1 向有序集合添加一个或多个成员,或者更新已存在成员的分数 zadd key score1 member1 [score2 member2] 2 获取有序集合的成 ...

  5. 为什么redis取出来是null_跳表:为什么Redis一定要用跳表来实现有序集合

    上两节我们讲了二分查找算法.当时我讲到,因为二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现.如果数据存储在链表中,就真的没法用二分查找算法了吗? 实际上,我们只需要对链表稍加改造,就可以 ...

  6. redis有序集合(Zset)

    2019独角兽企业重金招聘Python工程师标准>>> Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员.不同的是每个元素都会关联一个double类型 ...

  7. Redis常用命令入门5:有序集合类型

    有序集合类型 上节我们一起学习了集合类型,感受到了redis的强大.现在我们接着学Redis的最后一个类型--有序集合类型. 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序 ...

  8. 17 | 跳表:为什么Redis一定要用跳表来实现有序集合?

    问题:如果数据存储在链表中,就真的没法用二分查找算法了吗?可以对链表进行"改造",就可以支持类似"二分"的查找算法. 跳表 定义:对链表经过改造之后的数据结构叫 ...

  9. php redis 搜索,PHP+Redis有序集合(zset)实现博客园阅读排行榜功能

    许多网站都有排行榜的功能,比如球员人气榜单.阅读排行榜,对于一些小网站,通过查数据库就能实现排行榜的功能,但是对于稍微有点用户量而且还是实时排名的网站,使用一些关系型数据库如(MySQL.Oracle ...

最新文章

  1. show在php,show.php
  2. 5单个编译总会编译全部_5分钟读懂JavaScript预编译
  3. JDK源码学习笔记——Integer
  4. openlayers5之完整文档v5.1.3.zip下载
  5. 2015年 第6届 蓝桥杯 Java B组 省赛解析及总结
  6. 【Cocos2d-x for WP8 学习整理】(2)Cocos2d-Html5 游戏 《Fruit Attack》 WP8移植版 开源...
  7. java observer模式_Java观察者模式(Observer)详解及应用
  8. shell脚本if中判断大于、小于、等于、不等于的符号
  9. 模型参数太多怎么办?用谷歌高效训练库GPipe啊
  10. Dev TreeList常用用法
  11. 【Python数据分析】数据预处理2——数据集成
  12. bug篇——MySQL的时区问题
  13. 错排公式的推导及应用
  14. Power BI销售数据分析
  15. 深入浅出的etl作业调度工具taskctl
  16. 安装VMware16教程
  17. MySQL5.5的安装步骤
  18. Webstorm里面创建XMl文件
  19. 小工具推荐:tokei(高效统计代码行数)
  20. Unreal Engine 4 Radiant UI 入门教程(一)制作Radiant HUD

热门文章

  1. 详解vue组件的is特性:限制元素动态组件
  2. UVa 164 - String Computer
  3. 精通GridView(C#) (二)
  4. C++用数组和链表分别实现Stack
  5. 美国银行将 AI 应用于企业应收账款处理;联合国或将利用机器学习技术帮助救灾工作...
  6. 背水一战 Windows 10 (47) - 控件(ScrollViewer 特性): Chaining, Rail, Inertia, Snap, Zoom
  7. MySQL设计之三范式
  8. vivado----fpga硬件调试 (八)----例化ila核
  9. 算法导论——二叉查找树
  10. java 遍历file_JAVA File类(文件的遍历,创建,删除)