清除Symfony项目缓存是否安全?



我有一个Symfony 5项目在生产中,我需要更新一些css和树枝文件的时刻。我应该清除哪些缓存以使更新生效?

php bin/console cache:pool:list
Pool name                                         
-------------------------------------------------- 
cache.app                                         
cache.system                                      
cache.validator                                   
cache.serializer                                  
cache.annotations                                 
cache.property_info                               
doctrine.result_cache_pool                        
doctrine.system_cache_pool                        
cache.property_access                             
cache.security_expression_language                
api_platform.cache.route_name_resolver            
api_platform.cache.identifiers_extractor          
api_platform.cache.subresource_operation_factory  
api_platform.cache.metadata.resource              
api_platform.cache.metadata.property 

我还需要执行其他操作吗?对不起,我是Symfony的新手,但我需要解决这个任务。希望你能帮上忙。

在Symfony项目(bin/console cache:clear)中清除缓存是完全安全的,该命令还会同时重新构建缓存(也称为预热)&与直接删除var/cache/*文件夹来销毁缓存相比,你应该不会看到明显的减速。

你提到你正在尝试编辑CSS文件。这些不是由Symfony缓存的,而是由浏览器缓存的,所以请确保您也清除了浏览器缓存。

根据你的产品栈,可能有一个CDN或服务器负责缓存资产(Cloudflare, Varnish等),所以如果你没有看到任何变化,请确保清除这些缓存。

我假设你正在使用Symfony Encore,正如你提到的,你也试图编辑SCSS文件,在这种情况下,为了在编辑后重新编译资产,你必须执行以下命令:yarn buildencore production --progress

是的,您可以完全安全地删除整个devprod缓存目录。您将看到的唯一影响是,在重新构建文件时,下一个页面加载/cli访问会有短暂的延迟。删除任何单个文件也可以。

最新更新