Directus API GET接口无法即时展示数据更新问题求助
可能导致Directus API数据延迟更新的原因
- 全局缓存配置过长:Directus API默认启用缓存,若当前实例的
CACHE_TTL环境变量被设为600秒(10分钟),API查询会返回缓存的旧数据,而Directus UI直接读取未缓存的内部数据,所以能即时展示更新。对比正常实例的CACHE_TTL、CACHE_ENABLED配置,或检查后台全局缓存设置。 - 数据库读写分离同步延迟:如果该实例连接了读写分离的数据库,更新操作写入主库后,从库同步耗时10分钟,而API查询走从库,就会出现数据延迟。排查数据库架构是否存在读写分离,以及主从同步的状态。
- CDN/反向代理缓存:若API请求经过CDN或反向代理(如Nginx),且这些服务对API路径设置了10分钟的缓存过期时间,就会返回旧缓存内容。Directus UI未走该缓存链路,所以能即时看到变更。检查CDN/代理的缓存规则。
- 内部缓存失效异常:更新条目时Directus本应自动清除对应缓存,但如果缓存驱动(如Redis、文件缓存)出现故障,缓存无法及时失效。可尝试执行
directus cache:clear命令手动清除缓存,或检查缓存驱动配置是否正常。 - 集合独立缓存设置:单个集合可能被设置了独立的长缓存过期时间,进入对应集合的设置页面,查看“缓存”选项是否与正常实例配置不同。
内容的提问来源于stack exchange,提问作者Philipp Fischer
相关产品推荐
相关产品推荐

