thinkphp缓存清理是删除已存在的缓存文件或键值,配置刷新是重读config/并生成新缓存结构;两者作用对象、触发时机、效果均不同,不可替代。

ThinkPHP缓存清理是直接删除已存在的缓存文件或键值,而配置缓存刷新是让框架重新读取config/目录下的PHP配置文件并生成新的缓存结构——两者作用对象不同、触发时机不同、执行后效果也完全不同,不能互相替代。
缓存清理:删掉已经写进磁盘或Redis里的旧数据
第一步:确认当前缓存驱动类型。打开config/cache.php,查看default值,例如'default' => 'redis'或'default' => 'file'。这一步跳过会导致后续操作完全无效——【file驱动删Redis没用,redis驱动删runtime/cache/目录也清不掉任何真实缓存】。
第二步:按驱动执行对应清理动作。
方法一(file驱动):运行php think clear:cache,该命令会精准清空runtime/cache/下所有子目录及文件,不含log/temp等无关目录。
方法二(redis驱动):先查前缀,再安全删除。在Redis CLI中执行SCAN 0 MATCH think_cache:* COUNT 1000确认key范围,然后用DEL逐个删除匹配项;若配置了tag_prefix(如'tag_prefix' => 'tp_tag:'),还需同步清理tp_tag:user:*类索引key。
方法三(带标签缓存):必须调用Cache::tag('user')->clear(),仅Cache::clear()对打标缓存完全无效。
配置缓存刷新:让框架重新解析config/*.php并写入新缓存
ThinkPHP默认会把config/目录下的PHP配置文件编译成PHP数组缓存,存于runtime/config.php。修改配置后不刷新,框架仍读旧缓存。
第一步:删除旧配置缓存文件。执行rm -f runtime/config.php(Linux/macOS)或del runtime\config.php(Windows CMD)。
第二步:确保APP_DEBUG=false。若.env中APP_DEBUG=true,框架每次请求都会重新加载配置,不走缓存,此时删runtime/config.php无意义。
第三步:触发首次访问或手动执行一次配置加载。访问任意接口,或在命令行运行php think run启动内置服务器后发起一次HTTP请求,框架检测到runtime/config.php不存在,自动重建。
模板缓存和路由缓存属于独立缓存体系,既不是配置缓存也不是数据缓存
模板缓存(runtime/view/)与路由缓存(runtime/cache/route.php)由不同组件生成,各自有专用清理命令。
清模板缓存:用php think clear:template(TP6.1+),或直接rm -rf runtime/view/;别用php think clear,它默认不碰view/目录。
清路由缓存:必须用php think clear:route;手动删runtime/cache/route.php可能漏掉多应用下的同名文件,且不清理关联的注解扫描缓存。
注意:php think clear --all在TP8中只清驱动级缓存(cache/log/temp),不包含模板、路由、模型查询缓存——它不会触发配置重载,也不会重建runtime/config.php。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











