乐于分享
好东西不私藏

Mem0 深度解析:AI Agent 的记忆层工程化实践

Mem0 深度解析:AI Agent 的记忆层工程化实践

💡 本文深度拆解 Mem0 —— 2026 年 GitHub 28k+ Star 的 AI Agent 记忆层基础设施。从向量存储抽象到冲突解决算法,从混合检索到 v3 新算法,全面解析生产级记忆系统的工程实践。

一、为什么 AI Agent 需要专用记忆层?

LLM 的上下文窗口(Context Window)本质上是易失性记忆——会话结束,一切归零。但真实的 AI Agent 需要:

• 记住用户偏好("我喜欢科幻电影")

• 跨会话延续任务("上周的东京旅行计划进展如何?")

• 积累领域知识("我们公司的部署流程是……")

• 从反馈中学习("上次推荐的餐厅不好,换一家")

这些需求超出了简单 "把历史消息塞进上下文" 的能力范围。你需要:

结构化存储——事实、偏好、事件分门别类

高效检索——从海量记忆中快速找到相关信息

冲突解决——用户改了偏好,旧记忆如何更新

多租户隔离——不同用户/Agent 的记忆互不干扰

💡 Mem0 的定位:介于 LLM 和应用之间的记忆中间件——应用调用 Mem0 API 存/取记忆,Mem0 负责向量化、存储、检索、冲突解决的全部工程复杂度。

二、Mem0 架构全景:Platform vs OSS

Mem0 提供两条产品线的同一套心智模型

维度Mem0 Platform(托管)Mem0 OSS(自托管)
部署方式API Key 即用,零运维Docker Compose / Python SDK
LLM 后端服务端托管,无需配置需配置 OPENAI_API_KEY 等
向量存储托管 Qdrant(自动扩展)本地 Qdrant / pgvector / 云端
图谱存储✅ 托管图谱(实体关系)需自行配置 Neo4j / Memgraph
Dashboard✅ 可视化记忆管理❌ 需自行搭建 UI
速率限制按工作区配额受限于硬件和 Provider API

2.1 OSS 默认组件(直接 from mem0 import Memory)

LLM: OpenAI gpt-5-mini(通过 OPENAI_API_KEY)
Embeddings: OpenAI text-embedding-3-small
Vector Store: 本地 Qdrant(路径 /tmp/qdrant)
History Store: SQLite(路径 ~/.mem0/history.db)
Reranker: 默认禁用(需手动配置)

2.2 Platform 默认组件(托管服务)

LLM: OpenAI gpt-4.1-nano-2025-04-14
Embeddings: OpenAI text-embedding-3-small
Vector Store: 托管 Qdrant(自动扩展)
图谱存储: 托管图谱数据库(实体关系自动维护)
Reranker: Cohere / ZeroEntropy(可选启用)

三、记忆的三种抽象

Mem0 将 Agent 的记忆分为三个层次,每层的生命周期检索方式都不同:

3.1 Working Memory(工作记忆)

定义:当前会话的对话历史,存放在 LLM 的 Context Window 中

生命周期:会话结束即丢弃(除非显式持久化)

检索方式:直接读取上下文,无需向量检索

工作记忆的工程挑战是 Context Window 管理:对话太长会撑爆窗口。Mem0 的解决方案是 Summary 压缩——当对话超过阈值时,调用 LLM 生成摘要,替换掉原始消息。

3.2 Factual Memory(事实记忆)

定义:从对话中提取的结构化事实("用户喜欢爬山"、"项目使用 Python")

存储格式:向量(Embedding)+ 元数据(JSON)

生命周期:永久存储,除非显式删除或冲突解决覆盖

检索方式:语义向量检索 + 关键词 BM25 + 图谱遍历(三路并行)

这是 Mem0 最核心的部分。事实提取管道(Fact Extraction Pipeline)的工作流程:

# 伪代码:事实提取管道
def extract_facts(messages: List[Message]) -> List[Fact]:
    # 1. 构造提取 Prompt
    prompt = build_extraction_prompt(messages)
    # 2. 调用 LLM 提取结构化事实
    raw_facts = llm.complete(prompt)
    # 3. 解析 JSON 输出
    facts = parse_json(raw_facts)
    # 4. 为每个事实计算置信度
    for fact in facts:
        fact.confidence = compute_confidence(fact, messages)
    return facts

置信度评分的作用:低置信度的事实(<0.7)在检索时会被降级,避免错误信息干扰 Agent 决策。

3.3 Episodic / Semantic Memory(情节/语义记忆)

Episodic(情节记忆):带时间戳的事件序列("2026-05-10 用户问了关于 Mem0 的问题")

Semantic(语义记忆):实体之间的关系图谱("用户 —喜欢→ 科幻电影 —子类→ 类型")

Platform 版本支持图谱存储(Graph Store)——将实体和关系存储为节点和边,支持复杂的多跳推理:

# 查询:"推荐一个和《盗梦空间》类似的海报设计风格"
# 图谱推理路径:
盗梦空间 → [类型] → 科幻 → [相似] → 银翼杀手 → [视觉风格] → 赛博朋克
# 返回:赛博朋克风格的海报设计建议

四、Add 操作深度解析

Add 是 Mem0 最核心的写入操作。完整流程分三步:

4.1 信息提取(Information Extraction)

输入:一段对话消息列表 [{role: "user", content: "..."}, {role: "assistant", content: "..."}]

处理:调用 LLM,从对话中提取结构化记忆。Prompt 工程要点:

① 明确指令:"从这些消息中提取值得长期记住的事实和偏好"

② 输出格式约束:"以 JSON 数组格式返回,每个对象包含 text、category、confidence 字段"

③ 去重提示:"如果某事实已经在记忆中存在,不要重复提取"

v3 算法改进(2026年4月):从"提取→更新→删除"的多轮 LLM 调用,改为单次 Add-Only 提取——记忆只累加,不覆盖。这减少了 50% 的 LLM 调用次数。

4.2 冲突解决(Conflict Resolution)

当新记忆与已有记忆冲突时("我喜欢科幻电影" vs "我不喜欢科幻电影"),Mem0 的解决策略:

时间戳优先——新记忆覆盖旧记忆(默认策略)

LLM 合并——调用 LLM 判断两记忆是否真的冲突,若不冲突则都保留

置信度加权——高置信度记忆优先,低置信度记忆被覆盖

冲突解决的工程实现:在向量数据库中,对每条新记忆,先检索 Top-5 相似记忆,然后逐条比对是否需要合并/覆盖。

4.3 存储(Storage)

经过冲突解决后,记忆被写入两个存储后端:

向量数据库(Qdrant / pgvector / Pinecone)——支持语义检索

历史数据库(SQLite / PostgreSQL)——支持精确查询、审计、回滚

存储抽象层的设计:Mem0 定义了 VectorStoreBaseHistoryStoreBase 两个抽象接口,任何存储后端只需实现对应方法即可接入。这是 Mem0 支持 15+ 向量数据库的关键。

五、Search 操作深度解析

Search 是 Mem0 的读取操作,直接决定 Agent 的"记忆力"好不好。

5.1 三路并行检索(Multi-Signal Retrieval)

v3 算法的核心改进:语义检索 + 关键词 BM25 + 实体匹配三者并行打分,然后融合排序:

# 伪代码:三路并行检索
def search(query: str, user_id: str) -> List[Memory]:
    # 并行执行三个检索器
    semantic_results = vector_store.search(
        embedding=embed(query),
        top_k=20,
        filters={"user_id": user_id}
    )
    bm25_results = bm25_index.search(query, top_k=20)
    entity_results = graph_store.find_entities(query, top_k=20)
    # 融合排序(RRF: Reciprocal Rank Fusion)
    merged = rrf_fusion(
        semantic_results,
        bm25_results,
        entity_results,
        k=60  # RRF 参数
    )
    # Reranker 精排(可选)
    if reranker:
        merged = reranker.rerank(query, merged)
    return merged[:top_k]

RRF(Reciprocal Rank Fusion)公式:

score(d) = Σi 1 / (k + ranki(d))
其中 i 遍历三个检索器,k=60(经验值)

5.2 Reranker 精排

三路检索后,得到一个 ~20 条的候选集。Reranker 会对这 20 条做精细化重排序,通常能提升 5-15% 的检索精度。

Mem0 支持的 Reranker:

Cohere Rerank——API 调用,效果好,有速率限制

ZeroEntropy——开源 Reranker,可自托管

本地 Cross-Encoder——用 sentence-transformers 的 CrossEncoder 模型,完全离线

5.3 时序推理(Temporal Reasoning)

v3 算法新增的时序感知检索:根据查询的时间意图,自动调整时间衰减权重。

• "我现在在做什么项目" → 最近 7 天的记忆权重 × 2.0

• "我去年用过什么工具" → 2025年的记忆权重 × 1.5,最近的反而降级

• "明天的会议准备什么" → 未来时间的记忆(计划)权重 × 3.0

实现方式:每条记忆有 created_at 时间戳,检索时计算时间衰减因子 exp(-λ × Δt),乘到相似度分数上。

六、实体链接与图谱构建

v3 算法的另一个重要改进:实体链接(Entity Linking)——从记忆中提取实体,嵌入向量空间,并在图谱中建立连接。

6.1 实体提取

每次 Add 操作时,LLM 除了提取事实,还会识别实体(人名、地名、项目名、技术名词等):

# 输入消息:
"I'm planning a trip to Tokyo next month."

# 提取的实体:
[
  {"text": "Tokyo", "type": "LOCATION"},
  {"text": "next month", "type": "TIME"}
]

# 实体嵌入(与记忆嵌入分开存储):
entity_embedding = embed("Tokyo")  # 768维向量
# 存入实体索引(单独的向量集合)

6.2 实体链接

当新记忆提到"Tokyo"时,系统会:

① 在实体索引中检索相似实体(向量相似度 > 0.85 视为同一实体)

② 如果找到匹配,将新记忆链接到已有实体

③ 如果没找到,创建新实体节点

这解决了实体歧义问题:"苹果"(水果 vs 公司)会被正确区分。

6.3 图谱遍历检索

当语义检索结果不足时,Mem0 会从已检索到的记忆出发,在图谱中做多跳遍历

# 查询:"用户对公司技术栈的偏好"
# 图谱遍历:
用户节点 → [有偏好] → "Python" 实体
"Python" 实体 → [被用于] → "后端项目A" 记忆
"后端项目A" → [相关] → "PostgreSQL" 实体
# 返回记忆:"用户后端项目使用 Python + PostgreSQL"

七、配置与自定义

7.1 from_config 自定义组件

Mem0 OSS 允许通过 Memory.from_config(config) 完全自定义每个组件:

from mem0 import Memory

config = {
    "vector_store": {
        "provider": "qdrant",
        "config": {"host": "localhost", "port": 6333},
    },
    "llm": {
        "provider": "openai",
        "config": {"model": "gpt-4.1-mini", "temperature": 0.1},
    },
    "embedder": {
        "provider": "vertexai",
        "config": {"model": "textembedding-gecko@003"},
    },
    "reranker": {
        "provider": "cohere",
        "config": {"model": "rerank-english-v3.0"},
    },
}

memory = Memory.from_config(config)

7.2 支持的向量数据库

Qdrant、Pinecone、Weaviate、Milvus、Chroma、pgvector(PostgreSQL 插件)、Redis(RedisSearch 模块)、Elasticsearch、OpenSearch、Azure AI Search、ClickHouse……

更换向量数据库只需改一行配置,无需改业务代码。存储抽象层的设计功不可没。

八、v3 新算法性能基准

2026年4月,Mem0 发布了全新的 v3 记忆算法,在三个基准测试上取得重大突破:

基准测试v2(旧版)v3(新版)Token 消耗延迟 p50
LoCoMo71.491.67.0K0.88s
LongMemEval67.894.86.8K1.09s
BEAM (1M)64.16.7K1.00s
BEAM (10M)48.66.9K1.05s

关键改进点:

Single-pass Add-Only——一次 LLM 调用完成提取,不再有 Update/Delete 的多轮调用

Agent 生成事实一等公民——Agent 确认的操作,其信息以同等权重存储(旧版只重视用户消息)

实体链接——跨记忆的实体关联,检索时自动 boost 相关记忆

多信号检索——语义 + BM25 + 实体匹配并行,RRF 融合

时序推理——根据查询的时间意图动态调整时间衰减

评估框架开源: github.com/mem0ai/memory-benchmarks —— 任何人都可以复现上述数字。

九、与 LangChain / AutoGen / CrewAI 的集成

Mem0 通过 Adapter 模式接入主流 Agent 框架,无需改动框架源码:

9.1 LangChain 集成

from langchain.agents import initialize_agent
from mem0 import MemoryClient

# 初始化 Mem0 Client
mem0 = MemoryClient(api_key="your-api-key")

# 自定义 LangChain Tool:搜索记忆
def recall_memory(query: str) -> str:
    results = mem0.search(query, user_id="user-123")
    return "\n".join([r["memory"] for r in results])

# 每次 Agent 执行后,将结果存入记忆
def save_memory(agent_output: str):
    mem0.add(
        [
            {"role": "assistant", "content": agent_output}
        ],
        user_id="user-123"
    )

9.2 AutoGen 集成

AutoGen 的 ConversableAgent 支持 Hook 机制,可以在消息发送前后自动存取记忆:

import autogen
from mem0 import MemoryClient

mem0 = MemoryClient(api_key="...")

# Hook: 发送消息前,先检索相关记忆
def pre_send_hook(message: dict) -> dict:
    memories = mem0.search(message["content"], user_id="user-123")
    if memories:
        message["content"] += "\n\n[相关记忆]\n" + \
            "\n".join([m["memory"] for m in memories[:3]])
    return message

# Hook: 接收消息后,存入记忆
def post_receive_hook(message: dict):
    mem0.add(
        [message],
        user_id="user-123"
    )

十、生产环境最佳实践

10.1 向量数据库选型建议

起步阶段:本地 Qdrant(OSS 默认),零成本,性能足够

中型生产:托管 Qdrant Cloud / Pinecone,自动扩展,SLA 保障

大规模(>1亿向量):Milvus / Weaviate 集群,支持水平扩展

10.2 top_k 与 threshold 调优

top_k=10~20——太多会撑爆 Context Window,太少会漏掉相关信息

threshold=0.7——相似度低于 0.7 的记忆视为不相关,直接过滤

• 启用 Reranker 后,可以将 top_k 适当调大(20~30),让 Reranker 有更大的候选集精排

10.3 多租户隔离

在生产环境中,不同用户/租户的记忆必须严格隔离。Mem0 提供两种隔离策略:

user_id 过滤(推荐)——所有记忆存在同一个向量集合,检索时加 user_id 过滤条件

collection_name 隔离——每个租户一个独立的向量集合,物理隔离更安全

10.4 监控与评估

Token 消耗监控——每次 Add/Search 的 Token 数,估算成本

检索精度评估——用 Gold Standard 数据集计算 Precision@k、Recall@k

延迟监控——Add p50/p95/p99,Search p50/p95/p99

冲突率统计——记录冲突解决的频次和类型,发现数据质量问题

📌 总结

Mem0 的价值不在于"能存记忆"——任何向量数据库都能做。它的价值在于:
端到端管道:从消息到结构化事实到检索,全部工程化封装
冲突解决:处理记忆更新的工程难题
多信号检索:语义+关键词+实体的融合排序
实体链接:跨记忆的实体关联,支持复杂推理
评估框架:开源的 benchmarks,可复现、可改进

对于需要"记住用户"的 AI Agent 来说,Mem0 是目前最完整的开源记忆层解决方案。

— 程序九源 · 2026.05 —

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