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

本文通过简单的示例代码和说明,让读者能够了解微服务如何集成redis

之前的教程 https://www.cnblogs.com/leafstar/p/17638933.html

由于redis的安装网上教程很多,再次不再赘述,现在默认你已经安装好了redis

 

1.在需要redis的微服务下面添加下面依赖

<dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>

 

2.在项目的配置文件添加

spring:
redis:
host: 127.0.0.1
port: 6379

 

3.在需要的地方添加

@Autowired
StringRedisTemplate stringRedisTemplate;

即可使用。

 

4.在bank1的controller里面添加下面接口

@GetMapping("/writeRedis") public String writeRedis(String msg){     stringRedisTemplate.opsForValue().append("msg",msg);     return stringRedisTemplate.opsForValue().get("msg"); }

 

5.简单调用

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

 

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

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

 

 7.接下来实现一个redis排行榜的功能

我们在bank1的controller里面添加下面两个接口

@PostMapping("addScore") public void addScore(@RequestBody List<User>list){     for (User user : list) {         stringRedisTemplate.opsForZSet().add("list",user.getName(),user.getAmount());     }
} @GetMapping(
"/getList") public Set<ZSetOperations.TypedTuple<String>> getLeaderboard() { return stringRedisTemplate.opsForZSet().reverseRangeWithScores("list",0,-1); }

 

8.通过postman调用添加要排行的数据

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

 

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

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

 

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

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

 成功实现排行榜的功能

 

 


发表评论

评论已关闭。

相关文章