当前位置:首页>面试真题>Day21 | 消息队列基础面试真题解析

Day21 | 消息队列基础面试真题解析

  • 2026-07-26 11:01:24
Day21 | 消息队列基础面试真题解析

📅 2026年7月 · ⏱️ 阅读约12分钟 · 💻 Java后端技术

🔥 核心亮点

📚 消息队列是Java后端面试中的高频必考点,从RabbitMQ到Kafka,从消息可靠性到幂等性、顺序性、延迟消息... 本文精选大厂面试真题,带你一次性搞懂消息队列核心考点,面试底气倍增!💪

🎯 大家好!消息队列(MQ)作为分布式系统的核心中间件,在面试中出现的频率极高。无论是阿里的P6/P7面试,还是字节、腾讯、美团等大厂的Java后端岗位,消息队列几乎是必问考点。今天,小编就为大家梳理消息队列面试中的七大高频真题,助你轻松应对面试挑战!🚀

━━━━━━━━━━━━━━━━━━━━

📋 一、消息队列面试高频考点概览

🌟 在深入具体题目之前,我们先来盘点一下消息队列面试的核心考点图谱,帮助你建立完整的知识体系:

1️⃣ 选型对比:RabbitMQ vs Kafka vs RocketMQ 如何选?

2️⃣ 消息可靠性:Confirm、Ack、事务机制如何保证不丢消息?

3️⃣ 消息幂等性:如何避免重复消费?

4️⃣ 消息顺序性:如何保障消息顺序消费?

5️⃣ 消息堆积处理:队列满、消费慢怎么办?

6️⃣ 延迟消息:如何实现延迟队列?

7️⃣ 高可用架构:集群模式、镜像队列、分区副本

💡 掌握了以上七大考点,消息队列面试基本就稳了!下面我们逐一深入解析!👇

━━━━━━━━━━━━━━━━━━━━

🆚 二、RabbitMQ vs Kafka 选型对比

🎤 面试真题:"请说说RabbitMQ和Kafka的区别,以及你们项目如何选择消息队列?"

📌 参考答案

🔹 架构定位不同

RabbitMQ 是基于AMQP协议的传统消息队列,支持丰富的消息模式(点对点、发布订阅、路由、主题等),适合复杂路由场景

Kafka 是基于发布订阅模型的流式处理平台,以高吞吐量著称,适合大数据量、高并发的日志收集、实时计算场景。

🔹 性能对比

📈 Kafka 单机吞吐量可达 百万级 TPS,RabbitMQ 单机约 万级 TPS

⏱️ Kafka 延迟约 毫秒级,RabbitMQ 延迟更低,可达 微秒级

🔹 消息持久化

Kafka 消息默认持久化到磁盘,支持按时间或大小保留策略,适合长期存储。

RabbitMQ 消息默认存储在内存,可配置持久化,但性能会受影响。

✅ 选型建议:金融交易、订单支付等低延迟、强一致性场景选 RabbitMQ;日志采集、实时计算、大数据流处理等高吞吐场景选 Kafka。

━━━━━━━━━━━━━━━━━━━━

🔒 三、消息可靠性保证:Confirm、Ack、事务

🎤 面试真题:"如何保证消息不丢失?请从生产者、Broker、消费者三个维度分析。"

📌 参考答案:消息可靠性需要从生产者 → Broker → 消费者全链路保障:

📝 1. 生产者端:Confirm 确认机制

RabbitMQ 提供 Publisher Confirm 机制,生产者发送消息后等待Broker确认:

// 开启Confirm模式channel.confirmSelect();channel.basicPublish("exchange""routingKey"null, message.getBytes());// 等待确认(同步方式,性能较差)boolean confirmed = channel.waitForConfirms();if (confirmed) {    System.out.println("✅ 消息发送成功");else {    System.out.println("❌ 消息发送失败,需要重试");}// 异步Confirm(推荐)channel.addConfirmListener(    (deliveryTag, multiple) -> {        System.out.println("✅ 消息已确认: " + deliveryTag);    },    (deliveryTag, multiple) -> {        System.out.println("❌ 消息未确认: " + deliveryTag);    });

📝 2. Broker端:消息持久化 + 镜像队列

🔹 消息持久化:将消息保存到磁盘,即使Broker重启也不会丢失。

🔹 镜像队列:RabbitMQ 支持镜像队列,将队列复制到多个节点,主节点宕机时自动切换。

🔹 Kafka 通过副本机制实现高可用,每个分区配置多个副本,Leader宕机自动选举新Leader。

📝 3. 消费者端:Ack 手动确认

消费者处理完消息后手动发送Ack,Broker收到Ack后才删除消息:

// 关闭自动确认,开启手动Ackchannel.basicConsume("queue"false, (consumerTag, delivery) -> {    try {        // 处理消息业务逻辑        processMessage(delivery.getBody());        // 手动确认消息        channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);    } catch(Exception e) {        // 处理失败,拒绝消息并可选择是否重新入队        channel.basicNack(delivery.getEnvelope().getDeliveryTag(), falsetrue);    }}, consumerTag -> {});

⚠️ 注意:手动Ack模式下,如果消费者处理完消息未发送Ack就宕机,消息会重新入队,可能被其他消费者重复消费,因此需要配合幂等性设计

━━━━━━━━━━━━━━━━━━━━

🔄 四、消息幂等性:如何避免重复消费?

🎤 面试真题:"消息队列中如何保证幂等性?如果消息重复消费了怎么办?"

📌 参考答案:幂等性是指同一操作执行多次,结果与执行一次相同。消息队列中,重复消费的原因通常有:网络超时重试、消费者宕机未Ack、生产者重发等。

🛡️ 常见幂等性解决方案

🔹 方案一:唯一消息ID + 数据库去重表

-- 去重表设计  CREATE TABLE idempotent_log (      msg_id VARCHAR(64PRIMARY KEY,      biz_type VARCHAR(32),      create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP  );  // 消费时先插入去重表,利用唯一索引保证幂等性  @Transactional  public void consumeMessage(String msgId, OrderMessage msg) {      try {          // 插入去重记录,重复消息会抛出DuplicateKeyException          idempotentLogMapper.insert(new IdempotentLog(msgId, "ORDER"));          // 执行业务逻辑          orderService.process(msg);      } catch (DuplicateKeyException e) {          // 已处理过,直接返回          log.info("消息 {} 已处理,跳过", msgId);      }  }

🔹 方案二:Redis SetNX 分布式锁

// 使用Redis SetNX命令实现幂等  public boolean idempotentConsume(String msgId, Consumer<String> consumer) {      String key = "mq:idempotent:" + msgId;      // SET key value NX EX 600      Boolean success = redisTemplate.opsForValue()          .setIfAbsent(key, "1"Duration.ofMinutes(10));      if (Boolean.TRUE.equals(success)) {          consumer.accept(msgId);          return true;      }      log.info("消息 {} 重复消费,已跳过", msgId);      return false;  }

🔹 方案三:业务层天然幂等

例如更新订单状态:先查询订单状态,只有待支付时才执行支付操作,其他状态直接忽略。

@Transactional  public void payOrder(Long orderId) {      Order order = orderMapper.selectById(orderId);      // 只有待支付状态才执行支付      if (order != null && "PENDING".equals(order.getStatus())) {          orderMapper.updateStatus(orderId, "PAID");          // 其他业务逻辑...      }  }

✅ 总结:最推荐方案一(数据库去重表),可靠性最高;高并发场景可结合Redis提升性能;业务层天然幂等是最优雅的方案。

━━━━━━━━━━━━━━━━━━━━

📊 五、消息顺序性:如何保障消息顺序消费?

🎤 面试真题:"消息队列中如何保证消息的顺序性?Kafka如何保证分区内的顺序消费?"

📌 参考答案:消息顺序性分为全局有序分区有序。全局有序性能较差,通常只保证分区有序即可。

📝 Kafka 分区有序实现

1️⃣ 生产者指定Partition:将同一业务的数据发送到同一个Partition

// 自定义Partitioner,按userId取模  public class UserIdPartitioner implements Partitioner {      @Override      public int partition(String topic, Object key, byte[] keyBytes,                           Object value, byte[] valueBytes, Cluster cluster) {          int partitionCount = cluster.partitionCountForTopic(topic);          return Math.abs(key.hashCode()) % partitionCount;      }  }  // 发送消息时指定key  producer.send(new ProducerRecord<>("order-topic", userId, orderMessage));

2️⃣ 消费者单线程消费:一个Partition只由一个Consumer消费

 // 消费者配置:关闭自动提交,单线程消费  properties.put("max.poll.records""1");  properties.put("enable.auto.commit""false");  // 同步处理完一条再拉取下一条  while (true) {      ConsumerRecords<StringString> records = consumer.poll(Duration.ofMillis(100));      for (ConsumerRecord<StringString> record : records) {          process(record);          consumer.commitSync(); // 同步提交offset      }  }

📝 RabbitMQ 顺序性保障

🔹 单队列单消费者:一个队列只由一个消费者消费

🔹 使用顺序交换机(Consistent Hash Exchange),将同一Key的消息路由到同一队列

⚠️ 注意:保证顺序性的代价是牺牲并发性能。实际项目中,建议评估是否真的需要强顺序性,很多时候通过业务补偿机制(如版本号、时间戳)来解决更合理。

━━━━━━━━━━━━━━━━━━━━

📦 六、消息堆积处理:队列满、消费慢怎么办?

🎤 面试真题:"消息队列出现消息堆积,你怎么排查和解决?"

📌 参考答案:消息堆积的根本原因是生产速度 > 消费速度。解决思路分为排查定位解决方案两个层面。

🔍 排查步骤

1️⃣ 查看队列堆积量,确认堆积程度

2️⃣ 分析消费者日志,排查是否有异常导致消费失败

3️⃣ 检查消费者线程数、消费逻辑性能瓶颈

4️⃣ 确认是否有突发流量导致生产激增

💡 解决方案

✅ 横向扩容:增加消费者实例数量,提升整体消费能力

✅ 批量消费:调整 max.poll.records,一次拉取更多消息

✅ 异步消费:消费端采用异步线程池处理,提升吞吐量

✅ 跳过非关键消息:极端场景下,对过期或不重要的消息做丢弃处理

✅ 死信队列:消费失败的消息转入死信队列,避免阻塞主队列

 // RabbitMQ 死信队列配置示例  @Bean  public Queue mainQueue() {      return QueueBuilder.durable("main.queue")          .withArgument("x-dead-letter-exchange""dlx.exchange")          .withArgument("x-dead-letter-routing-key""dlx.routing.key")          .withArgument("x-message-ttl"30000)  // 30秒过期          .build();  }

📌 预防措施:设置合理的队列最大长度TTL过期时间,配置监控告警,在消息堆积初期及时发现并处理。

━━━━━━━━━━━━━━━━━━━━

⏰ 七、延迟消息实现方案

🎤 面试真题:"如何实现延迟消息?RabbitMQ和Kafka分别怎么做?"

📌 参考答案:延迟消息是指消息发送后,在指定时间后才被消费者处理。常见场景:订单超时自动取消、定时任务、秒杀活动倒计时等。

🔹 RabbitMQ:死信队列 + TTL

RabbitMQ 原生支持消息的 TTL(Time-To-Live) 设置,消息过期后自动进入死信队列:

// 创建延迟队列(设置TTL为30分钟)  @Bean  public Queue delayQueue() {      return QueueBuilder.durable("delay.queue")          .withArgument("x-dead-letter-exchange""normal.exchange")          .withArgument("x-dead-letter-routing-key""normal.routing.key")          .withArgument("x-message-ttl"30 * 60 * 1000)  // 30分钟          .build();  }  // 消息先发送到延迟队列,过期后自动转发到正常队列  rabbitTemplate.convertAndSend("delay.exchange""delay.routing.key", message);

🔹 Kafka:时间轮 / 外部调度

Kafka 本身不支持延迟消息,需要通过其他方式实现:

✅ 方案A:使用 Kafka + 时间轮(如 HashedWheelTimer),定时扫描延迟消息

✅ 方案B:使用 Kafka + Redis ZSet,将消息存入Redis有序集合,按时间排序消费

✅ 方案C:使用 RocketMQ,原生支持延迟消息(推荐)

 // RocketMQ 延迟消息示例  Message msg = new Message("TopicTest""TagA""OrderID188""Hello".getBytes());  // 设置延迟级别(RocketMQ预设18个级别)  // 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h  msg.setDelayTimeLevel(5);  // 延迟1分钟  producer.send(msg);

💡 选型建议:RabbitMQ + 死信队列方案简单,适合固定延迟时间的场景;需要动态延迟时,推荐 RocketMQ 或 Redis ZSet 方案。

━━━━━━━━━━━━━━━━━━━━

🔮 八、下期预告:第四周分库分表和分布式专题

🎉 以上就是消息队列面试的七大高频真题解析,涵盖了从基础选型到高可用架构的核心考点。如果你觉得有帮助,记得点赞、在看、转发,让更多Javaer看到!💪

📢 下期预告:第四周我们将迎来分库分表和分布式专题!🚀

🔥 精彩预告内容:

✅ 分库分表实战:ShardingSphere vs MyCat 深度对比

✅ 分布式事务:Seata AT/TCC/Saga 模式详解

✅ 分布式锁:Redis RedLock vs ZooKeeper 实现方案

✅ 分布式ID生成:雪花算法、号段模式、Leaf 源码解析

✅ 分布式缓存一致性:Cache Aside、Read Through、Write Through 策略

🎯 关注本公众号,第一时间获取分库分表和分布式专题的深度解析!错过了真的要等一年!😱

━━━━━━━━━━━━━━━━━━━━

📝 九、总结与引导

📌 本文从面试实战出发,系统梳理了消息队列的七大高频考点,让我们再来回顾一下核心要点:

✅ 选型对比:RabbitMQ 适合复杂路由、低延迟;Kafka 适合高吞吐、大数据

✅ 消息可靠性:Confirm + 持久化 + Ack 手动确认,全链路保障

✅ 消息幂等性:唯一ID去重表、Redis SetNX、业务层天然幂等

✅ 消息顺序性:同一业务Key路由到同一分区,单线程消费

✅ 消息堆积:横向扩容、批量消费、异步处理、死信队列

✅ 延迟消息:RabbitMQ死信TTL、Redis ZSet、RocketMQ原生延迟

💡 面试时,建议大家结合实际项目经验来回答,用具体的场景和代码示例支撑你的答案,这样更容易获得面试官的认可!👍

━━━━━━━━━━━━━━━━━━━━

👇 觉得有用?动动手指支持一下!👇

❤️ 点赞 表示支持 · 🔄 在看 分享给朋友 · ⭐ 收藏 面试前复习

📌 关注公众号,获取更多Java后端技术干货!

📅 2026年7月20日 · 🔥 Java后端技术 · 💬 消息队列专题

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-26 16:58:26 HTTP/2.0 GET : https://15386.cn/a/470506.html
  2. 运行时间 : 0.104829s [ 吞吐率:9.54req/s ] 内存消耗:4,524.84kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=efbcc1df44cf0546d8e0e84c5f8b3324
  1. /yingpanguazai/ssd/ssd1/www/no.15386.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/no.15386.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/no.15386.cn/runtime/temp/97c957f747c268aee476c4e16775dd7c.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000531s ] mysql:host=127.0.0.1;port=3306;dbname=no_15386;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000788s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000307s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000266s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000556s ]
  6. SELECT * FROM `set` [ RunTime:0.000178s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000565s ]
  8. SELECT * FROM `article` WHERE `id` = 470506 LIMIT 1 [ RunTime:0.000535s ]
  9. UPDATE `article` SET `lasttime` = 1785056306 WHERE `id` = 470506 [ RunTime:0.008687s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000317s ]
  11. SELECT * FROM `article` WHERE `id` < 470506 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000537s ]
  12. SELECT * FROM `article` WHERE `id` > 470506 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000515s ]
  13. SELECT * FROM `article` WHERE `id` < 470506 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000770s ]
  14. SELECT * FROM `article` WHERE `id` < 470506 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006814s ]
  15. SELECT * FROM `article` WHERE `id` < 470506 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.018434s ]
0.106536s