1

我有一个 Spring Boot 应用程序,它实现了 redis 缓存来cahce 方法输出。我的用例是在缓存中调用方法时存储对象列表。我的代码如下所示。

@Cacheable(value="sec-ques-list")
    @Override
    public List<SecQuestionModel> fetchSecQuestions() {

        logger.info("fetchSecQuestions() Starts");

        List<SecQuestion> secQuestionsEnty = secQuestionRepository.findAll();

        List<SecQuestionModel> secQuesModelList = new ArrayList<>();

        if(!CollectionUtils.isEmpty(secQuestionsEnty)){

            for(SecQuestion secQuesEnty:secQuestionsEnty){

                SecQuestionModel secQuesModel = new SecQuestionModel();

                secQuesModel.setSecQuesId(secQuesEnty.getId().toString());
                secQuesModel.setSecQuestion(secQuesEnty.getSecQuestion());
                secQuesModel.setSecQuestionDesc(secQuesEnty.getSecQuestionDesc());
                secQuesModel.setCreatedTime(SecQuestionUtil.convertDateTimeToString(secQuesEnty.getCreatedTime()));
                secQuesModel.setUpdatedTime(SecQuestionUtil.convertDateTimeToString(secQuesEnty.getUpdatedTime()));
                secQuesModel.setCreatedBy(secQuesEnty.getCreatedBy());
                secQuesModel.setUpdatedBy(secQuesEnty.getUpdatedBy());

                secQuesModelList.add(secQuesModel);
            }


        }
        logger.info("fetchSecQuestions() Ends");
        return secQuesModelList;
    }

在这里,我的意图是使用密钥 sec-ques-list 将我的 SecQuestionModel lits 存储在缓存中。它按预期工作,但是当我登录并看到 redis cahce 时,我无法使用以下命令找到这个关键对象。

LLEN sec-ques-list -> 这返回(整数)0 但我有一些对象。

我的代码实际上是在 Redis 中保存我的对象吗?或如何查看由 spring boot 应用程序存储的 redis 中的对象。

4

1 回答 1

0

你是如何在 Redis 中保存数据的?它用密钥保存它。打开 redis-client 并再次执行操作,看看那里是否发生了什么。它会生成一个密钥,您可以从中查看数据。

于 2019-10-20T11:59:48.307 回答