葫芦葫芦葫芦 2023-02-09 11:06 采纳率: 0%
浏览 13

redis 获取数据展示消失

问题遇到的现象和发生背景

用redis获取分栏条数据,正常运行并正常展示,刷新也正常。隔了一段时间,刷新页面,分栏条数据展示全部消失了?!!重新运行项目,数据恢复正常。

遇到的现象和发生背景,请写出第一个错误信息

并未提示任何错误信息,就是没展示数据。

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
    public List<Category> findAll() {
        //1.从redis中查询
        //1.1获取jedis客户端
        Jedis jedis = JedisUtil.getJedis();
        //1.2可使用sortedset排序查询
        //Set<String> categories = jedis.zrange("category", 0, -1);
        //1.3查询sortedset中的分数(cid)和值(cname)
        Set<Tuple> categories = jedis.zrangeWithScores("category", 0, -1);
        //zrangeByScore("cate", 2, 3)返回有序集合中指定分数区间的成员列表。
        //Set<String> cate = jedis.zrangeByScore("cate", 2, 3);

        List<Category> cs = null;
        //2.判断查询的集合是否为空
        if(categories == null || categories.size() == 0) {
            System.out.println("从数据库查询......");
            //redis还没有category数据,需要从数据库查询,再将数据存入redis
            //3.1从数据库查询
            cs = dao.findAll();
            //3.2 将集合数据存储到redis中的category的key
            for(int i = 0; i< cs.size(); i++) {
                jedis.zadd("category",cs.get(i).getCid(),cs.get(i).getCname());
            }

        } else {
            System.out.println("从redis查询......");
            System.out.println(categories);
            //4.如果不为空,将set的数据存入list
            cs = new ArrayList<Category>();
            for(Tuple tuple : categories) {
                Category category = new Category();
                category.setCname(tuple.getElement());
                category.setCid((int)tuple.getScore());
                cs.add(category);
            }

        }
        return cs;
    }

运行结果及详细报错内容

在idea控制台上也打印了查找分栏条的方法名(即该方法被运行了),但却不再打印数据从哪获取(无论是从数据库,还是redis获取,都会打印渠道),并且没有打印数据(即这些本该打印的都没打印),为啥呢?why?

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

我重新运行项目,它便正常展示了,但不知道过了多久,它又失常了,想起redis缓存是有存活时间的,于是我怀疑是redis 缓存被清除了,但用redis的客户端查询keys * ,数据还在的,而且如果不在,不应该是从数据库重新获取数据吗?所以还是没找到它的原因,希望有人帮忙解疑一下,谢谢了!

  • 写回答

3条回答 默认 最新

  • 皮蛋不吃粥 2023-02-09 11:14
    关注

    不再打印数据从哪获取,打断点看了么

    评论

报告相同问题?

问题事件

  • 创建了问题 2月9日

悬赏问题

  • ¥15 没输出运行不了什么问题
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)