介绍
今天就跟大家聊聊有关如何在Java项目中利用redis-zset实现一个排行榜功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1。添加依赖
, & lt; dependency> ,,& lt; groupId> org.springframework.boot ,,& lt; artifactId> spring-boot-starter-data-redis & lt;才能/dependency>
, 2。注入RedisTemplate方法
@ autowired public RedisTemplate  redisTemplate;
3。创建对象,用来接收复述,数据
@ data public class  RangeVo implements Serializable  { ,private String  shopName; ,private Double  shopPrice; , }
4。添加十条复述,数据
, @Test ,public void  getzset4 () { String 才能;keyModel =,“testList"; for 才能;(int 小姐:=,0;,小姐:& lt;, 10,,,我+ +),{ ,,int score =, new 随机().nextInt (50); ,,String ss =,“shop" + i; ,,redisTemplate.opsForZSet阀门()(keyModel,党卫军,分数); ,,} 以前,}>5。根据某个关键查询并每次查询得分都会加1
@Test ,public void  setOneValue () { String 才能;keyModel =,“testList"; String 才能;ss =,“shop8"; Double 才能;aDouble =, redisTemplate.opsForZSet () .incrementScore (keyModel,党卫军,,1); System.out.println才能(aDouble); 以前,}>6。查询复述中所有数据,zset会根据分数自动排序
@Test ,public void  getList () { String 才能;key =,“testList"; List<才能;RangeVo>, list =, new ArrayList<在();/* *,才能从小到大排序,返回value 和,分数*,参数注释,key 为有序集合的关键,1,50,是分数范围,1-50,0,是偏移量即从哪条数据开始排序,,5是取5条满足条件的数据*/Set<才能ZSetOperations.TypedTuple