简单使用redis-zset实现排行榜
此方法实现一个根据某字段的查询次数进行排行,查询的次数越多排行越前(从大到小排序),适用于初学者
2.注入RedisTemplate方法org.springframework.boot spring-boot-starter-data-redis
@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<>();
Set> set = redisTemplate.opsForZSet().rangeByScoreWithScores(key,1,50,0,5);
Iterator> iterator = set.iterator();
while (iterator.hasNext()){
ZSetOperations.TypedTuple
到此这篇关于Java简单使用redis-zset实现排行榜的文章就介绍到这了,更多相关redis-zset排行榜内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!



