redis 的zsetpaixu

时间:2020-04-13 13:37:44   收藏:0   阅读:63

使用redis进行文章的排序:

public String findAllByDesc(Model model ,@RequestParam(defaultValue="1")Integer pageNum,@RequestParam(defaultValue="10")Integer pageSize) {
//1.从mysql中查询数据
PageInfo<Article> info = articleService.findAll(pageNum, pageSize);
//使用redis的方式让文章按照点击量降序来排列
List<Article> list = info.getList();
for (Article article : list) {
//往redis中存zset结构的数据,并且以点击量作为分值
redisTemplate.opsForZSet().add("articles4zset", article, article.getHits());
}
//从redis的zset中取一下
Set<Article> range = redisTemplate.opsForZSet().reverseRange("articles4zset", 0, -1);
//把set集合的元素转存到list集合中
ArrayList<Article> arrayList = new ArrayList<>();
arrayList.addAll(range);
//重新把list封装到pageINfo里
info.setList(arrayList);
model.addAttribute("info", info);
return "list";
}

原文:https://www.cnblogs.com/shanzhongqi/p/12690745.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!