排行榜

以跑步步数排行榜run_set为例,需要每小时和每天统计用户的排行

创建排行榜实例

指定排行榜名字,所在时区,时间间隔和保留版本数

Insert

插入一条数据,如果在同一个时间段内,下一条数据会覆盖上一条数据。

ac.rankingMgr(context, "run_set").insert("key1", 1463732401, 1);

Inc

更新一条数据,如果在同一个时间段内,下一条数据会累加到上一条数据。

ac.rankingMgr(context, "run_set").inc("key1", 1463732401, 1);

Get

||SKIP||

用法一

查询2016-05-20 16:00:00~2016-05-20 17:00:00 key1的排名(反序)和值

ACRankingValue value = ac.rankingMgr(context, "run_set").get("key1", ACRanking.HOUR, 1463731200, ACRanking.DESC);

用法二

查询当前小时,key1的排名(反序)和值

ACRankingValue value = ac.rankingMgr(context, "run_set").get("key1", ACRanking.HOUR, 0, ACRanking.DESC);

Scan

||SKIP||

用法一

查询2016-05-20 16:00:00~2016-05-20 17:00:00 前十名(反序)

List<ACRankingValue> values = ac.rankingMgr(context, "run_set").scan(ACRanking.HOUR, 1463731200, 1, 10, ACRanking.DESC);

用法二

查询当前小时,前十名(反序)

List<ACRankingValue> values = ac.rankingMgr(context, "run_set").scan(ACRanking.HOUR, 0, 1, 10, ACRanking.DESC);

Ranks

||SKIP||

用法一

查询2016-05-20 16:00:00和前2个小时(包含2016-05-20 16:00:00这个小时),key1在各个小时的排名,如果值不存在,则排名为-1

List<ACRankingValue> values = ac.rankingMgr(context, "run_set").ranks("key1", ACRanking.HOUR, 1463731200, 3, ACRanking.DESC);

用法二

查询当前小时和前3个小时(包含当前小时),key1在各个小时的排名,如果值不存在,则排名为-1

List<ACRankingValue> values = ac.rankingMgr(context, "run_set").ranks("key1", ACRanking.HOUR, 0, 3, ACRanking.DESC);

TotalCount

||SKIP||

用法一

查询2016-05-20 16:00:00~2016-05-20 17:00:00这个小时的数据总量

ACRankingCount count = ac.rankingMgr(context, "run_set").totalCount(ACRanking.HOUR, 1463731200);

用法二

查询当前小时的数据总量

ACRankingCount count = ac.rankingMgr(context, "run_set").totalCount(ACRanking.HOUR, 1463731200);

RangeCount

||SKIP||

用法一

查询2016-05-20 16:00:00~2016-05-20 17:00:00这个小时,值在1和3这个范围的数据总量

ACRankingCount count = ac.rankingMgr(context, "run_set").rangeCount(ACRanking.HOUR, 1463731200, ACRanking.HOUR, 1, 3);

用法二

查询当前小时,值在1和3这个范围的数据总量

ACRankingCount count = ac.rankingMgr(context, "run_set").rangeCount(ACRanking.HOUR, 0, 1, 3);