ToB企服应用市场:ToB评测及商务社交产业平台

标题: 微服务集成redis并通过redis实现排行榜的功能 [打印本页]

作者: 灌篮少年    时间: 2023-8-30 02:35
标题: 微服务集成redis并通过redis实现排行榜的功能
默认你已经看过我之前的教程了,并且拥有上个教程完成的项目,
之前的教程 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]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4