ruby on rails - official - ¿Cuál es la diferencia entre Rails.cache.clear y rake tmp: cache: clear?
ruby on rails software (1)
¿Son los dos comandos equivalentes? Si no, ¿cuál es la diferencia?
La tarea de rake solo borra los archivos que están almacenados en el sistema de archivos en "#{Rails.root}/tmp/cache"
. Aquí está el código para esa tarea.
namespace :cache do
# desc "Clears all files and directories in tmp/cache"
task :clear do
FileUtils.rm_rf(Dir[''tmp/cache/[^.]*''])
end
end
Rails.cache.clear
hará diferentes cosas dependiendo de la configuración de tus aplicaciones para config.cache_store
. http://guides.rubyonrails.org/caching_with_rails.html#cache-stores
Si está utilizando config.cache_store = :file_store
, Rails.cache.clear
será funcionalmente idéntico a rake tmp:cache:clear
. Sin embargo, si está utilizando algún otro cache_store
, como :memory_store
o :mem_cache_store
, solo Rails.cache.clear
borrará la memoria caché de su aplicación. En ese caso, rake tmp:cache:clear
simplemente intentará eliminar los archivos de "#{Rails.root}/tmp/cache"
pero probablemente no hará nada, ya que probablemente no se almacena nada en el sistema de archivos.