Ruby on rails 使用Carrierwave的CDN(Cloudfront)缓存失效
我使用carrierwave允许用户上传图像,并在上传后进行裁剪,问题是版本会被创建,CDN会立即捕捉到,当用户裁剪时,他们看不到更改,因为Cloudfront缓存必须失效,并且需要相当长的时间才能自行刷新 我认为在文件名上添加版本号可能是使缓存失效的一个好方法,如何使用Carrierwave实现这一点Ruby on rails 使用Carrierwave的CDN(Cloudfront)缓存失效,ruby-on-rails,carrierwave,amazon-cloudfront,Ruby On Rails,Carrierwave,Amazon Cloudfront,我使用carrierwave允许用户上传图像,并在上传后进行裁剪,问题是版本会被创建,CDN会立即捕捉到,当用户裁剪时,他们看不到更改,因为Cloudfront缓存必须失效,并且需要相当长的时间才能自行刷新 我认为在文件名上添加版本号可能是使缓存失效的一个好方法,如何使用Carrierwave实现这一点 这是最好的方法吗 您可以在carrierwave wiki上找到有关如何操作的详细信息: 我对cloudflare也有同样的问题 这里是我的黑客解决方案:将更新后的时间戳_放入参数中。应与所有C
这是最好的方法吗 您可以在carrierwave wiki上找到有关如何操作的详细信息:
我对cloudflare也有同样的问题 这里是我的黑客解决方案:将更新后的时间戳_放入参数中。应与所有CDN一起工作
class AssetUploader < CarrierWave::Uploader::Base
def url(options={})
super.split("?v=")[0]+"?v=#{model.updated_at.to_time.to_i}" rescue super
end
end
类AssetUploader