当前位置:首页>python>Python 3.14 新特性全解:Python 的「成人礼」来了

Python 3.14 新特性全解:Python 的「成人礼」来了

  • 2026-06-28 02:49:37
Python 3.14 新特性全解:Python 的「成人礼」来了

历史推荐


2025 年 10 月 7 日,Python 3.14 正式发布。如果你还没升级,这篇文章会告诉你为什么这次更新可能是 Python 自 3.0 以来最具革命性的版本。

开篇:为什么说 Python 3.14 是「成人礼」?

坦率地说,Python 近几年的版本更新,多少有点"挤牙膏"的味道——3.11 加了速,3.12 改了点语法糖,3.13 引入了实验性的自由线程。每个版本都有亮点,但没有一个能让人拍桌子说"这次真不一样"。

直到 3.14。

这个版本一口气带来了 t-string 模板字符串尾调用解释器(3-5% 性能提升)标准库多解释器并行注解延迟求值远程调试接口Zstandard 压缩……每一项都不是小修小补,而是从底层运行时到语法表达层面的系统性升级。

如果说 Python 3.0 解决的是"语言设计"问题,那 3.14 解决的就是"性能与工程化"问题——Python 终于在认真对待生产级场景了。


一、t-string:比 f-string 安全一万个倍的模板字符串

1.1 f-string 的致命缺陷

先看一段再熟悉不过的代码:

user_input = request.get("name""")query = f"SELECT * FROM users WHERE name = '{user_input}'"

每个有经验的程序员看到这段代码都会本能地皱眉——SQL 注入风险。但 f-string 天生就是干这个的:它只负责把变量塞进字符串,至于安不安全,它管不着。

2026 年了,还在手写参数化查询?还在手动 html.escape()?还在日志里拼接用户输入?问题不是程序员不想写安全代码,而是 f-string 根本没给你安全处理的机会——它返回的就是一个普通字符串,插值和静态文本已经混在一起了,你无法在组合之前对变量做任何拦截。

1.2 t-string 的设计哲学

PEP 750 引入的 t-string,核心思想就一个:把"组合"和"处理"拆开

from string.templatelib import Template, Interpolationname = "Alice"template = t"Hello, {name}!"print(type(template))# <class 'string.templatelib.Template'>

注意看——t"..." 返回的不是字符串,而是一个 Template 对象。这个对象保留了模板的结构信息:哪些是静态文本,哪些是插值变量,分别是什么值。你可以遍历它:

print(list(template))# ['Hello, ', Interpolation('Alice', 'name', None, ''), '!']

这意味着你可以在变量被拼进最终字符串之前,对它们做任意处理——转义、校验、过滤、日志脱敏……随你。

1.3 实战:用 t-string 构建 SQL 安全模板

from string.templatelib import Template, Interpolationdefsql(template: Template) -> str:"""安全的 SQL 模板处理器:自动参数化"""    parts = []    params = []for item in template:if isinstance(item, Interpolation):            parts.append("?")  # 用占位符替代直接拼接            params.append(item.value)else:            parts.append(item)    query = "".join(parts)return query, params# 使用username = "admin' OR '1'='1"table = "users"query, params = sql(t"SELECT * FROM {table} WHERE name = {username}")print(query)   # SELECT * FROM ? WHERE name = ?print(params)  # ['users', "admin' OR '1'='1"]

看到了吗?变量根本没进入 SQL 字符串本身,而是被提取为参数列表。这就是参数化查询该有的样子,而且不需要你手写任何占位符逻辑

1.4 HTML 转义处理器

defhtml(template: Template) -> str:"""自动 HTML 转义的模板处理器"""    parts = []for item in template:if isinstance(item, Interpolation):            value = str(item.value)# HTML 实体转义            value = value.replace("&""&amp;") \                         .replace("<""&lt;") \                         .replace(">""&gt;") \                         .replace('"'"&quot;") \                         .replace("'""&#x27;")            parts.append(value)else:            parts.append(item)  # 静态文本原样保留return"".join(parts)# 使用user_input = '<script>alert("xss")</script>'safe = html(t'<p>Welcome, {user_input}!</p>')print(safe)# <p>Welcome, &lt;script&gt;alert(&quot;xss&quot;)&lt;/script&gt;!</p>

1.5 t-string 数据流:从模板到安全字符串

t-string 模板处理流程

核心概念:t-string 把"组合"和"处理"拆开,让你在变量拼入字符串之前拥有完全控制权

1.6 t-string vs f-string 对比

特性
f-string
t-string
语法
f"..."t"..."
返回类型
strTemplate
 对象
变量处理时机
立即拼接,无法拦截
可在拼接前自定义处理
安全性
无内置保护
可构建安全处理器
适用场景
简单字符串格式化
SQL/HTML/Shell/日志模板
性能
极快(直接求值)
略慢(多一步处理)

一句话总结:f-string 是"快餐",t-string 是"自己做饭但锅碗瓢盆都准备好了"。日常格式化用 f-string,涉及外部输入的模板场景用 t-string,各司其职。


二、尾调用解释器:不换代码,白嫖 3-5% 性能提升

2.1 什么是尾调用解释器?

CPython 解释器的核心是一个巨大的 switch-case 循环——每执行一条字节码,就跳到对应的 case 分支。这种设计简单粗暴,但对 CPU 的分支预测器极不友好。

Python 3.14 引入了一种全新的解释器实现:尾调用解释器(Tail-Call Interpreter)。它把每个字节码的处理逻辑拆成独立的小函数,通过 C 语言的尾调用(gcc/clang 的 musttail 属性)在函数之间直接跳转,省去了 switch-case 的间接跳转开销。

# 编译时启用尾调用解释器./configure --with-tail-call-interp

2.2 性能数据

根据 Python 官方 pyperformance 基准测试:

测试场景
提升幅度
几何平均(全基准)
3-5%
整数运算密集型
4-7%
浮点运算密集型
3-5%
字符串操作
2-4%
I/O 密集型
~0%(瓶颈不在解释器)

3-5% 听起来不多?但请注意——你不需要改任何代码。升级 Python 版本 + 重新编译,性能就白来了。在数百万 QPS 的服务端场景下,3% 就是真金白银。

2.3 注意事项

  • 需要使用 Clang 19+ 或支持 musttail 属性的编译器
  • 支持 x86-64 和 AArch64 架构
  • 建议配合 PGO(Profile-Guided Optimization) 一起使用,效果更佳
  • 这不是 Python 代码层面的尾调用优化——CPython 依然不支持函数尾调用优化
Python 3.14 性能优化

三、标准库多解释器:终于可以在 Python 里真正并行了

3.1 GIL 之痛,一痛二十年

Python 的 GIL(全局解释器锁)是所有 Python 程序员的集体创伤。多线程无法利用多核,multiprocessing 又有 IPC 开销和序列化的麻烦。

Python 3.13 的自由线程(PEP 703)是实验性的,3.14 继续推进但仍在实验阶段。但 3.14 同时带来了一个更务实的方案——标准库多解释器(PEP 734)。

3.2 concurrent.interpreters 入门

import concurrent.interpretersfrom concurrent.futures import InterpreterPoolExecutordefcpu_intensive_task(n: int) -> int:"""CPU密集型计算:每个解释器独立执行"""return sum(i * i for i in range(n))# 使用方式类似 ThreadPoolExecutorwith InterpreterPoolExecutor() as executor:    futures = [executor.submit(cpu_intensive_task, 10**6for _ in range(4)]    results = [f.result() for f in futures]    print(f"4个任务全部完成,结果: {results}")

3.3 多解释器 vs 其他并发方案

特性
threading
multiprocessing
interpreters
内存隔离
❌ 共享内存
✅ 独立进程
✅ 独立解释器
真正并行
❌(GIL 限制)
✅ 多进程
✅ 多解释器
资源开销
高(fork/spawn)
中(共享部分内存)
通信方式
共享变量
IPC(pickle 序列化)
受限通道
启动速度
中等
序列化需求
所有传递数据需 pickle
仅通道数据

关键洞察:多解释器是一种介于线程和进程之间的并发方案。它比线程多了真正的并行能力(绕过 GIL),比进程少了重量级的资源开销。对于 CPU 密集型任务,这是一个非常务实的选择。

3.4 实战场景:数据管道并行处理

from concurrent.futures import InterpreterPoolExecutorimport jsondefprocess_chunk(data_json: str) -> dict:"""每个解释器独立处理一个数据块"""    data = json.loads(data_json)# 独立的解释器空间,无需担心 GIL    result = {"count": len(data),"total": sum(item["value"for item in data),"avg": sum(item["value"for item in data) / len(data)    }return result# 模拟大数据集分块chunks = [json.dumps([{"value": i * 10for i in range(1000)])] * 8with InterpreterPoolExecutor(max_workers=4as executor:    results = list(executor.map(process_chunk, chunks))print(f"处理了 {len(results)} 个数据块")for i, r in enumerate(results[:3]):    print(f"  块{i}{r}")

四、注解延迟求值:告别 from __future__ import annotations

4.1 这个问题困扰了 Python 多年

classNode:def__init__(self, value: int, next: Node = None):# NameError!        self.value = value        self.next = next

Node 类在定义 next 参数时还不存在——经典的"前向引用"问题。过去要么用字符串 'Node',要么加 from __future__ import annotations

4.2 PEP 649/749 的解决方案

Python 3.14 彻底解决了这个问题——注解默认不再立即求值,而是存储在一个"标注函数"中,仅在需要时才求值。

classNode:defnext(self) -> Node:# 直接引用,不需要引号包裹!pass# 以前需要这样写:# def next(self) -> 'Node': pass# 或者:from __future__ import annotations

新的 annotationlib 模块提供了灵活的访问方式:

from annotationlib import get_annotations, Formatdeffunc(arg: SomeUndefinedType):pass# 三种格式按需获取get_annotations(func, format=Format.VALUE)       # 尝试求值(未定义则报错)get_annotations(func, format=Format.FORWARDREF)  # 用 ForwardRef 标记未知类型get_annotations(func, format=Format.STRING)      # 纯字符串形式

实际影响:所有用了 from __future__ import annotations 的项目,在 3.14 上可以安全地去掉这行代码了。Python 终于把"正确的事"变成了"默认的事"。


五、远程调试、Zstandard、asyncio 内省——工程化利器

5.1 远程调试器接口(PEP 768)

线上服务出 bug,但是不能停进程?3.14 终于支持安全地附加调试器到运行中的 Python 进程

# 向目标进程注入调试脚本import syssys.remote_exec(1234"/tmp/debug_script.py")# 或者直接用 pdb# python -m pdb -p 1234

安全控制也很完备:

控制方式
命令
环境变量禁用
PYTHON_DISABLE_REMOTE_DEBUG=1
命令行禁用
python -X disable-remote-debug
编译时完全移除
./configure --without-remote-debug

这对生产环境调试简直是救星——再也不用 print() 大法了。

5.2 Zstandard 压缩(PEP 784)

Meta 开源的 zstd 压缩算法终于进入了标准库:

from compression import zstddata = b"hello world" * 100000compressed = zstd.compress(data)print(f"压缩率: {len(compressed) / len(data):.2%}")# 新的统一导入方式from compression import zstd, lzma, gzip, zlib, bz2

zstd 的压缩速度比 gzip 快 3-5 倍,压缩率更好,是日志归档和数据管道的理想选择。

5.3 asyncio 内省

异步代码调试一直是个噩梦——你不知道哪个协程卡在哪。3.14 新增了 asyncio 进程内省工具:

# 查看所有 asyncio 任务python -m asyncio ps 12345# 树状显示协程调用关系python -m asyncio pstree 12345

输出示例:

└── (T) Task-1    └──  main example.py:13        └──  TaskGroup.__aexit__            ├── (T) Sundowning            │   └──  play_track            │       └──  sleep            └── (T) TMBTE                └──  play_track                    └──  sleep

一眼就能看出哪个任务在 sleep、哪个卡住了。


六、语法糖与实用小改进

6.1 except 不再需要括号(PEP 758)

# 以前except (TimeoutError, ConnectionRefusedError):pass# 3.14except TimeoutError, ConnectionRefusedError:pass

少敲两个字符,但语义更清晰——这本来就是"捕获多个异常"而不是"捕获一个元组"。

6.2 finally 中的 return 终于有警告了(PEP 765)

deffunc():try:return1finally:return2# SyntaxWarning: 'return' in 'finally' block

这是 Python 的经典坑——finally 中的 return 会覆盖 try 中的返回值。现在至少有警告了。

6.3 pathlib 终于能复制文件了

from pathlib import Pathsrc = Path('/tmp/source.txt')dst = Path('/tmp/dest.txt')src.copy(dst)        # 复制文件src.copy_into(Path('/tmp/backup/'))  # 复制到目录src.move(dst)        # 移动文件

以前只能 shutil.copy(src, dst),但 pathlib 的链式调用更优雅。

6.4 UUID v6/v7/v8 支持

import uuidu7 = uuid.uuid7()  # 基于时间戳,可排序的 UUIDu6 = uuid.uuid6()  # 兼容 v1 但字段重排u8 = uuid.uuid8()  # 完全自定义print(uuid.NIL)  # 00000000-0000-0000-0000-000000000000print(uuid.MAX)  # ffffffff-ffff-ffff-ffff-ffffffffffff

UUIDv7 尤其值得关注——它基于时间戳排序,对数据库索引极其友好,是 UUIDv4 在分布式系统中的最佳替代。

6.5 functools.Placeholder

from functools import partial, Placeholderdeffunc(a, b, c):return (a, b, c)# 保留第一个参数位置,预填充 b=2, c=3f = partial(func, Placeholder, 23)print(f(1))  # (1, 2, 3)

Placeholder 让 partial 终于可以跳过中间参数了——以前只能从左到右填充,现在可以精确控制哪些参数留空。


七、升级建议:该不该升?

7.1 适合立即升级的场景

  • Web 服务/API 后端:3-5% 的性能提升 + 远程调试能力,对生产环境价值巨大
  • 数据处理/ETL 管道:zstd 压缩 + 多解释器并行
  • 模板/HTML/SQL 密集型项目:t-string 的安全模板能力
  • 类型注解重度使用:延迟求值简化了代码

7.2 建议观望的场景

  • 依赖大量 C 扩展的库:numpy、pandas 等可能需要等待兼容更新
  • 自由线程需求:3.14 仍为实验阶段,不建议生产使用
  • Docker 镜像体积敏感:尾调用解释器需要特定编译器,官方镜像可能暂未启用

7.3 兼容性检查清单

# 1. 升级前检查依赖兼容性pip list --outdatedpip check# 2. 使用 pyenv 管理多版本pyenv install 3.14.0pyenv local 3.14.0# 3. 运行测试套件pytest --tb=short -q# 4. 检查弃用警告python -W error::DeprecationWarning your_script.py

总结:Python 3.14 特性速查表

特性
PEP
重要性
一句话描述
t-string 模板字符串
PEP 750
⭐⭐⭐⭐⭐
安全模板处理的终极方案
注解延迟求值
PEP 649/749
⭐⭐⭐⭐⭐
前向引用问题彻底解决
多解释器并行
PEP 734
⭐⭐⭐⭐⭐
绕过 GIL 的务实并行方案
尾调用解释器
⭐⭐⭐⭐
白嫖 3-5% 性能
远程调试接口
PEP 768
⭐⭐⭐⭐
生产环境调试的救命工具
Zstandard 压缩
PEP 784
⭐⭐⭐⭐
高性能压缩进入标准库
asyncio 内省
⭐⭐⭐⭐
异步调试不再抓瞎
except 无括号
PEP 758
⭐⭐⭐
语法糖,少敲两字符
finally 警告
PEP 765
⭐⭐⭐
消灭一个经典坑
自由线程改进
PEP 703
⭐⭐⭐
仍在实验,未来可期

Python 3.14 不是一个"修修补补"的版本——它在安全(t-string)、性能(尾调用解释器)、并行(多解释器)、工程化(远程调试、asyncio 内省)四个维度上同时发力。这不是 Python 在追别人,这是 Python 在认真做一个成熟的工程语言该做的事

升级吧。这一次,值得。


最新文章

随机文章

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