Java zset 应用_Java简单使用redis-zset实现排行榜

简单使用redis-zset实现排行榜

此方法实现一个根据某字段的查询次数进行排行,查询的次数越多排行越前(从大到小排序),适用于初学者

1.添加依赖

org.springframework.boot

spring-boot-starter-data-redis

2.注入RedisTemplate方法

@Autowired

public RedisTemplate redisTemplate;

3.创建对象,用来接收redis数据

@Data

public class RangeVo implements Serializable {

private String shopName;

private Double shopPrice;

}

4.添加十条redis数据

@Test

public void getzset4(){

String keyModel = "testList";

for (int i = 0; i < 10 ; i++) {

int score = new Random().nextInt(50);

String ss = "shop"+i;

redisTemplate.opsForZSet().add(keyModel,ss,score);

}

}

5.根据某个key查询并每次查询score都会加1

@Test

public void setOneValue(){

String keyModel = "testList";

String ss = "shop8";

Double aDouble = redisTemplate.opsForZSet().incrementScore(keyModel, ss, 1);

System.out.println(aDouble);

}

6.查询redis中所有数据,zset会根据score自动排序

@Test

public void getList(){

String key = "testList";

List list = new ArrayList<>();

/** 从小到大排序 返回value 和 score* 参数注释 key 为有序集合的key,1,50 是分数范围 1-50,0 是偏移量即从哪条数据开始排序, 5是取5条满足条件的数据*/

Set> set = redisTemplate.opsForZSet().rangeByScoreWithScores(key,1,50,0,5);

Iterator> iterator = set.iterator();

while (iterator.hasNext()){

ZSetOperations.TypedTuple next = iterator.next();

RangeVo rangeVo = new RangeVo();

rangeVo.setShopName((String) next.getValue());

rangeVo.setShopPrice(next.getScore());

list.add(rangeVo);

}

System.out.println(list);

}

到此这篇关于Java简单使用redis-zset实现排行榜的文章就介绍到这了,更多相关redis-zset排行榜内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓的java无法访问网络_Android网络访问的基本方法

Android访问网络的两种主要方式&#xff1a;1、标准Java接口(java.net) ----HttpURLConnection&#xff0c;可以实现简单的基于URL请求、响应功能&#xff1b;2、Apache接口(org.appache.http)----HttpClient&#xff0c;使用起来更方面更强大。一般来说&#xff0c;用这种接口…

create用法java_Java AcousticEchoCanceler.create方法代碼示例

import android.media.audiofx.AcousticEchoCanceler; //導入方法依賴的package包/類Overridepublic boolean initCapturer() {// initalize audio modeaudioManagerMode.acquireMode(audioManager);// get the minimum buffer size that can be usedint minRecBufSize AudioR…

form表单图片预览 layui_layui 实现图片上传和预览

[学习笔记]图片不自动上传并在表单提交时再上传&#xff0c;看代码。附上表单页面前台实现autocomplete"off" class"layui-input" disabled>autocomplete"off" class"layui-input">上传图片确定layui.use([form, layer, upload]…

java不会框架怎么办_感觉学java无从下手了,各种框架乱七八糟,感觉好乱。该怎么办!?...

image各种各样的编程语言不断崛起&#xff0c;但唯有Java是牢牢占据着老大的位置&#xff0c;目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java。因此&#xff0c;也是吸引了不少年轻人投入到Java的学习之中。但不得不说&#xff0c;Java作为老牌编程语言&#xf…

java基数排序 数组_万字长文带你掌握Java数组与排序,代码实现原理都帮你搞明白!...

查找元素索引位置基本查找根据数组元素找出该元素第一次在数组中出现的索引public class TestArray1 {public static void main(String[] args) {//定义一个数组int[] arr{10,20,70,10,90,100,1,2};//根据元素查找出该元素在数组中第一次出现的索引int indexgetIndexByEle(arr,…

php base64_decode 图片,php base64保存为图片,带格式解析

/*** 将base64字符串创建为图片文件* param string $base64 base64原始字符串* param string $path 保存文件的目录* param string $filename 文件名(不要带格式后缀)* return array 成功:state 1 filename:返回的文件名 失败:state 2 err:返回详细错误*/function createB…

php置顶文章,php实现文章置顶功能的方法

本文实例讲述了php实现文章置顶功能的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;昨天客户让做文章置顶的功能。自己以前没做过。靠着同事的指点才做了出来。本来挺简单的事情&#xff0c;被自己搞了好久。自己真的缺乏对程序的理解。还是写篇博客记录一下吧。…

php 生成树,PHP超牛逼无限极分类生成树方法

你还在用浪费时间又浪费内存的递归遍历无限极分类吗&#xff0c;看了该篇文章&#xff0c;我觉得你应该换换了。这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法&#xff0c;巧在引用&#xff0c;整理分享了。function generateTree($items){$tree array();for…

php curl put,PHP curl以模拟put请求,后台无法接受到数据是怎么回事?

我自己封装了curl工具类,测试表现:get,post,delete方式后台都能正确接收到前面传的参数,但是put方式就是获取不到参数.1.相关代码:index.php 入口请求文件require_once MyCurl.class.php;$data [param > 成功, param1 > 这是神马];$res MyCurl::send(http://localhost/…

php是走什么协议,TCP是什么协议

TCP代表传输控制协议&#xff0c;是Internet协议套件中的基本协议&#xff0c;是一种网络通信协议&#xff1b;它规定如何建立和维护两个程序可以交换数据的连接&#xff0c;通过Internet发送信息的方式。TCP代表传输控制协议&#xff0c;是Internet协议套件中的基本协议&#…

php 获取相反值,php – 以相反的顺序从单向数组中获取数据

你不是在寻找阵列的反面,但是你正在寻找相反的东西.首先要更好地理解这种逆转可能会对你有所帮助.您需要每个元素的父元素.如果您遍历下一个,则父级始终是前一个.因此,如果您将前一个元素添加为父元素,那么数组的最后一个元素就是您要查找的元素.所以听起来很直接.更难的部分是…

php网页调用ckeditor,php调用ckeditor?怎么调用ckeditor

怎么调用ckeditor呢&#xff0c;下面小编来给大家总结一处利用php 调用ckeditor编辑器与js调用ckeditor的方法吧&#xff0c;其它脚本调用方法大致一样了。PHP调用FCKeditor将FCKeditor放在网站根目录在PHP文件里面&#xff0c;包含/FCKeditor/ckeditor/" target"_bl…

php调用selenium,通过PHP exec()执行Selenium webdriver

我构建了一个python脚本&#xff0c;它使用Selenium和Firefox加载一些网站并处理它们的内容。因为我想在PHP中使用该脚本的输出&#xff0c;所以我使用PHP的exec()函数。在我的python测试脚本如下所示&#xff1a;from pyvirtualdisplay import Displayfrom selenium import we…

php月历,PHP生成月历代码

PHP生成月历代码2021-01-23 11:43:565/*FunctionWrittenbyNelsonNeoh3/2004.Forthosewhowantstoutilizethiscode,pleasedonotremovethisremark.Ifyouhavedoneanyenhancementtothiscode,pleasepostthecopyathttp://www.dev-club.comPHPboard.Thankyou.Functionusage:calendar(Mo…

php yii 命令行,命令行模式(Command)

命令行模式(Command)3.2.1. 目的为了封装调用和解耦。我们有一个调用程序和一个接收器。 这种模式使用「命令行」将方法调用委托给接收器并且呈现相同的「执行」方法。 因此&#xff0c;调用程序只知道调用「执行」去处理客户端的命令。接收器会从调用程序中分离出来。这个模式…

怎么让PHP网页显示时有表格的效果,html的table用法(让网页的视觉效果显示出来)...

我们知道在网易博客可以用html时&#xff0c;是否把代码直接加入到摸板中&#xff0c;但是效果却不是很好。那是因为没有对代码进行很好的排列&#xff0c;现在我说一下用table来排列&#xff0c;可以很好的把特效显示出来。在html语法中table(即表格)是不可少的部分&#xff0…

php 数组排序 按值,php – 按值排序数组

我正在为我的论坛创建一个“固定”功能,我正在寻找一种方法将我的固定主题放在数组的开头,以便它们“卡在”页面的顶部.如果主题没有固定,则topic_pinned NULL,如果它被固定,则topic_pinned 0.该数组按topic_updated排序.固定主题需要在保留在页面顶部时按topic_updated保持排…

php语句结束标记,PHP结束标记“?”

本问题已经有最佳答案&#xff0c;请猛点这里访问。我有一个PHP结束标记的有趣现象。 我有一个由Ajax调用执行的php文件。 在php文件中包含了一个具有各种功能的php库文件。 当这个库被包含时&#xff0c;php响应包括一堆空行。 当我从库中删除结束标记时&#xff0c;这种情况就…

php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...

JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换1. JS的数据类型和访问1.1. 原始类型JS中的原始数据类型有: number , string , boolean ;声明变量使用 var 关键字./* 数字类型 */varyear2020;/* 字符串类型 */varnamezhangsan;/* 布尔类型 */varisUpdatefalse;获…

在matlab中使用spm8,在matlab中同时使用spm2,spm5,spm8

1、设置好spm2&#xff0c;spm5&#xff0c;spm8的路径。例如&#xff0c;都放置在“D:\Analysis_Software”2、新建一个文件夹spm_paths&#xff0c;用于放置调用spm2&#xff0c;spm5&#xff0c;spm8的*.m文件3、将spm_paths在matlab中进行setpath4、调用文件编写如下&#…