冷月半明 2022-11-17 17:13 采纳率: 88%
浏览 6
已结题

springboot框架中想要将redis中缓存的数据发送到接口中,但是不知道为什么报错了.

springboot框架中想要将redis中缓存的数据发送到接口中,但是不知道为什么报错了.

用代码块功能插入代码,请勿粘贴截图

最开始的代码:

img


此时没有报错,将一些数据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;
    }
}


编译器提示:

img

  • 写回答

2条回答 默认 最新

  • nssnail 2022-11-17 17:36
    关注

    你的while是死循环,要写了结束条件下面的map才能返回的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分