微服务集成redis并通过redis实现排行榜的功能

打印 上一主题 下一主题

主题 866|帖子 866|积分 2598

默认你已经看过我之前的教程了,并且拥有上个教程完成的项目,
之前的教程 https://www.cnblogs.com/leafstar/p/17638933.html
由于redis的安装网上教程很多,再次不再赘述,现在默认你已经安装好了redis
 
1.在需要redis的微服务下面添加下面依赖
  1. <dependency>
  2.     <groupId>org.springframework.boot</groupId>
  3.     <artifactId>spring-boot-starter-data-redis</artifactId>
  4. </dependency>
复制代码
 
2.在项目的配置文件添加
  1. spring:<br>  redis:<br>    host: 127.0.0.1<br>    port: 6379
复制代码
 
3.在需要的地方添加
  1. @Autowired<br>StringRedisTemplate stringRedisTemplate;
复制代码
即可使用。
 
4.在bank1的controller里面添加下面接口
  1. @GetMapping("/writeRedis")
  2. public String writeRedis(String msg){
  3.     stringRedisTemplate.opsForValue().append("msg",msg);
  4.     return stringRedisTemplate.opsForValue().get("msg");
  5. }
复制代码
 
5.简单调用

 
6.通过图形化界面工具RESP查看,写入成功

 
 7.接下来实现一个redis排行榜的功能
我们在bank1的controller里面添加下面两个接口
  1. @PostMapping("addScore")
  2. public void addScore(@RequestBody List<User>list){
  3.     for (User user : list) {
  4.         stringRedisTemplate.opsForZSet().add("list",user.getName(),user.getAmount());
  5.     }<br>}
  6. @GetMapping("/getList")
  7. public Set<ZSetOperations.TypedTuple<String>> getLeaderboard() {
  8.     return stringRedisTemplate.opsForZSet().reverseRangeWithScores("list",0,-1);
  9. }
复制代码
 
8.通过postman调用添加要排行的数据

 
9.可以看到,redis里面已经按照score大小排序

 
10.浏览器调用getList接口,结果如下

 成功实现排行榜的功能
 
 
[code][/code]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表