文档章节

NBA篮球图文直播室之数据排行榜

张子良
 张子良
发布于 2013/05/17 08:45
字数 964
阅读 171
收藏 1

NBA篮球图文直播室之数据排行榜

作者:张子良

1.1 业务规则

球员数据排行榜,实时显示两队各项技术参数最高的球员信息,技术参数包括得分、篮板、助攻、抢断、盖帽、出场时间、失误和犯规次数。如下图所示:

1.2 技术选型

Redis提供当前版本提供四种数据类型stringlistsetzsethash,其中string为基础类型,其它四种为扩展类型。每种数据类型都有其适用的特定场景,在这里我们选择zset作为数据排行榜数据信息存储的载体,主要是考虑到它所提供的自动排序功能。zset提供的主要的操作命令如下表所示:

表1:          zset命令清单

序号

命令

功能

1

zadd(key, score, member)

向名称为keyzset中添加元素memberscore用于排序。如果该元素已经存在,则根据score更新该元素的顺序。

2

zrem(key, member)

删除名称为keyzset中的元素member

3

zincrby(key, increment, member)

如果在名称为keyzset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment

4

zrank(key, member)

返回名称为keyzset(元素已按score从小到大排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil

5

zrevrank(key, member)

返回名称为keyzset(元素已按score从大到小排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil

6

zrange(key, start, end)

返回名称为keyzset(元素已按score从小到大排序)中的indexstartend的所有元素

7

zrevrange(key, start, end)

返回名称为keyzset(元素已按score从大到小排序)中的indexstartend的所有元素

8

zrangebyscore(key, min, max)

返回名称为keyzsetscore >= minscore <= max的所有元素

9

zcard(key)

返回名称为keyzset的基数

10

zscore(key, element)

返回名称为keyzset中元素elementscore

11

zremrangebyrank(key, min, max)

删除名称为keyzsetrank >= minrank <= max的所有元素

12

zremrangebyscore(key, min, max)

删除名称为keyzsetscore >= minscore <= max的所有元素

13

zunionstore / zinterstore(dstkeyN, key1,…,keyN, WEIGHTS w1,…wN, AGGREGATE SUM|MIN|MAX)

Nzset求并集和交集,并将最后的集合保存在dstkeyN中。对于集合中每一个元素的score,在进行AGGREGATE运算前,都要乘以对于 WEIGHT参数。如果没有提供WEIGHT,默认为1。默认的AGGREGATESUM,即结果集合中元素的score是所有集合对应元素进行 SUM运算的值,而MINMAX是指,结果集合中元素的score是所有集合对应元素中最小值和最大值。

1.3 存储设计

以每一项技术参数作为一个关键字,以每一个队员球衣号码为一个Member,以技术参数值为SCORE。需要统计的技术参数包括得分、篮板、助攻、抢断、盖帽、出场时间、失误和犯规次数。按照NBA篮球比赛规则,单场比赛最多允许15名队员出场(常规赛区别于季后赛),每个关键字,最多包含15Member。关键字清单列表如下所示:

表1:          关键字清单

1

NBA.YYMMDD.XX.HOST. MAX .SCORE

主队最高得分

2

NBA.YYMMDD.XX.HOST. MAX.BORAD

主队最高篮板球

3

NBA.YYMMDD.XX.HOST. MAX. ASSIST

主队最多助攻

4

NBA.YYMMDD.XX.HOST. MAX. STEAL

抢断

5

NBA.YYMMDD.XX.HOST. MAX. BSHOT

盖帽

6

NBA.YYMMDD.XX.HOST. MAX.TIME

出场时间

7

NBA.YYMMDD.XX.HOST. MAX. FAILD

失误

8

NBA.YYMMDD.XX.HOST. MAX. FOUL

犯规次数

备注:此处只列出主队关键字,客队关键字只有直接使用GUEST替换HOST即可。


© 著作权归作者所有

张子良

张子良

粉丝 47
博文 14
码字总数 36118
作品 1
丰台
项目经理
私信 提问
加载中

评论(0)

有趣对比:做码农比当球员更容易成大富翁

前几日,福布斯杂志公布了世界运动员收入排行榜,数据显示全球顶尖的足球、篮球、橄榄球等运动员的收入极高,C罗的年收入高达8180万欧元、詹姆斯的收入也超过7700万美元。职业球类运动员的收...

王练
2017/02/06
2.7K
22
"晒一晒":易信网友大爱NBA和高颜值球星

  不久前,湖人当家球星科比-布莱恩特在微博宣布将在本赛季结束后退役,告别信《Dear Basketball》感动了无数粉丝。对很多人来说,科比的退役意味着NBA一个时代的终结,也让人回想起那些年...

作者:厂商投稿
2015/12/08
0
0
抓取6W+篇帖子,13W+个人用户信息,分析虎扑论坛&用户数据

目录 一、虎扑是什么? 二、数据说明 三、虎扑论坛分析 1) 各论坛版块流量分析 2) 步行街/NBA论坛版块 用户发帖内容分析 3) 步行街/NBA论坛版块 用户活跃时间段分析 四、虎扑用户分析 1) 用户...

VinecntYang
2017/11/24
0
0
🎮 你见过凌晨4点的洛杉矶吗?

写在前面 印象中第一次看NBA是在1999年的夏天吧,当跟着学校校队巡演招生什么的,住在一个破宾馆里,一群人围着一台黑白电视机,当时还小,不理解为什么队里的大哥哥们看个比赛鬼吼鬼叫上蹿下...

Guowc
02/24
0
0
NBA球员身体数据及位置分析

前言让我们先来看则新闻,元旦联盟爆炸出一惊人记录,就是绿军与热火的比赛中,凯尔特人后卫小托马斯爆砍52分,其中第四节一人独揽29分,且命中杀死比赛的三分球。但小托马斯身高仅仅175cm。...

韩琦儿
2017/02/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

webpack 阶段回顾 之 webpack-dev-server

webpack-dev-server是一个让我们可以模拟线上环境进行项目调试的工具 主要功能有: 路径重定向 浏览器中显示编译错误 接口代理 如解决跨域 热更新 使用步骤 安装webpack-dev-server 配置dev...

东东笔记
36分钟前
54
0
sql按任意时间段分组统计

任意时间序列数据都可以按时间分组。 timestamp 为时间戳。 按每五分钟统计日志的数目 select floor(cast(logs.timestamp as int) / 60 / 5) as dt, count(logs.id)from ( selec...

Mr小Z
43分钟前
72
0
微信小程序直播带货教程

微信小程序直播带货教程 微信小程序正式推出直播带货组件,很多正在使用 “api工厂” 的用户,这几天一直在问,现有小程序如何使用直播带货的功能,需要不需要做很复杂的改动?是否需要重新开...

javazj
47分钟前
61
0
实战教程|数据校验 - 步入高阶开发的必修课

作者:张泽栓 首发于知晓云 - 小程序开发快人一步 数据校验是为保证数据的完整性、合法性进行的一种验证操作。方法很多,都很繁琐。本着为你解决后端那些麻烦事儿的初心。知晓云隆重推出开年...

知晓云
49分钟前
72
0
如何从终端导入MySQL数据库?

如何从终端导入mysql数据库? 我找不到确切的语法。 #1楼 从终端: mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql #2楼 Windows的首选方式: ...

技术盛宴
49分钟前
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部