springboot框架中想要将redis中缓存的数据发送到接口中,但是不知道为什么报错了.
用代码块功能插入代码,请勿粘贴截图
最开始的代码:
此时没有报错,将一些数据put至map中前端也能成功接受.
然后增加了关于redis的代码后报错.
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import redis.clients.jedis.Jedis;
import java.util.*;
@RestController
public class TestController {
@GetMapping("/getCode")
private Map<String,String> code(){
HashMap<String,String> map = new HashMap<>();
// 链接redis
Jedis jedis = new Jedis("", 6379);
jedis.auth("");
jedis.select(1);
String response = jedis.ping();
System.out.println(response); // PONG
long start=System.currentTimeMillis();
System.out.println(start);
while(true){
long thisTime=System.currentTimeMillis();
// System.out.println(thisTime);
if (thisTime-start == 5000){
System.out.println(thisTime);
System.out.println("过去了2秒!");
// 开始执行清库操作
Set<String> keys = jedis.keys("*");
System.out.println(keys);
for (String key: keys){
String value= jedis.get(key);
// 转换类型时可能出现非int类型
try {
int a = Integer.parseInt(value);
String str=String.valueOf(a);
map.put(key,str);
} catch (NumberFormatException e) {
e.printStackTrace();
}
// System.out.print(Integer.parseInt(value));
}
jedis.flushDB();
System.out.println(map);
System.out.println("操作结束!");
start=System.currentTimeMillis();
}else{
}
}
return map;
}
}
编译器提示: