thinkphp6缓存清不掉的根本原因是未确认实际生效的缓存驱动及路径:默认php think clear仅清runtime/cache/等文件目录,若配置为redis则完全无效;模板缓存需php think clear -t,路由缓存需php think route:clear,标签缓存必须cache::tag('xxx')->clear(),自定义store须显式调用cache::store('name')->clear()。

ThinkPHP6缓存清不掉,不是命令没敲对,也不是权限不够,而是你删的目录根本不是当前生效的缓存位置——比如你清了runtime/cache/,但实际缓存写在runtime/appname/cache/,或者驱动早切到了Redis却还在删文件。
缓存驱动类型没确认就动手
第一步:打开config/cache.php,看'default'配置项指向哪个驱动(如'redis'、'file'、'memcached');【如果default是redis,执行php think clear只会清runtime下文件,对Redis里一个字节都不动】。
第二步:检查stores数组里对应驱动的配置,特别是path(file驱动)、prefix(redis驱动)、host(确认Redis服务真在运行);【若redis配置了prefix为'tp6:',而你用FLUSHDB清库,会误删其他业务数据】。
第三步:在控制器里临时加一行var_dump(\think\Cache::getDriver()->getName());,运行一次接口,亲眼看到当前实例用的是哪个驱动——别信配置文件注释,信运行时返回值。
模板缓存和路由缓存被忽略
方法一:用命令行强制清理模板编译文件
执行php think clear -t,它会清runtime/view/或runtime/temp/下的*.php模板编译文件;这一步不做,改完index.html永远不生效。
方法二:单独清除路由缓存
运行php think route:clear,它专清runtime/route.php;如果你改了route.php里的Route::get()规则但页面仍404,大概率是这个文件没更新。
注意:TP6.1+支持php think clear:route,但老版本只能靠删文件或重生成——直接删runtime/route.php后,下次请求会自动重建,别怕。
标签缓存(tag)根本清不动
Cache::tag('user')->set('info', $data)写入的数据,Cache::clear()完全无效;必须显式调用Cache::tag('user')->clear()才能清掉。
如果标签名带变量,比如Cache::tag('order_'.$uid)->set('list', $list),那就得知道$uid具体值才能清;【ThinkPHP不支持Cache::tag('order_*')->clear()这种通配符语法】。
Redis驱动下,标签缓存底层用的是Set存储索引,真实数据另存;所以Cache::tag('user')->clear()会先扫tp_tag:user:*键,再逐个删真实缓存——这一步耗时,别在高并发接口里直接调。
自定义缓存实例没被清理
第一步:检查代码里是否用了Cache::store('my_redis')或Cache::store('file_v2')这类非默认store;php think clear默认只清default store,其他全漏。
第二步:找到对应store的配置,在config/cache.php的stores里确认它的type和path或host;然后手动调用Cache::store('my_redis')->clear()。
第三步:如果store配置里path被环境变量覆盖(比如.env里写了CACHE_FILE_PATH=/data/my_cache),那Cache::store('file')->clear()删的还是默认路径,必须传入完整路径参数或重载配置。
OPcache或文件系统缓存干扰验证
删完runtime/cache/后立刻访问页面还是旧内容?先执行opcache_reset()(需有opcache扩展且未禁用);否则PHP进程仍从OPcache里读已加载的编译后模板文件。
Linux下执行rm -rf runtime/cache/*后,用ls -la runtime/cache/确认目录为空;如果看到.gitignore或index.html残留,说明shell通配符没匹配隐藏文件,得加shopt -s dotglob再删,或改用find runtime/cache -mindepth 1 -delete。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











