redis 的zsetpaixu

Posted shanzhongqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 的zsetpaixu相关的知识,希望对你有一定的参考价值。

使用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";
}

以上是关于redis 的zsetpaixu的主要内容,如果未能解决你的问题,请参考以下文章

redis--安全

如何连接redis

redis如何执行redis命令

windows 怎么开启redis

Redis学习——详解Redis配置文件

Redis高级(持久化--redis主从架构--redis哨兵模式--redis分片集群)