文章介绍了用户头像存储的简单方法,并探讨了多种S3兼容存储服务,如亚马逊S3、DigitalOcean Spaces、Wasabi、Cloudflare R2、Backblaze B2和Hetzner S3。每种服务的定价和功能不同,适合不同需求。ActiveStorage的Mirror服务可用于迁移期间的临时存储。
最近将Geeknote的图片处理换到了imgproxy,imgproxy是一个开源的图片处理引擎,可以替代ActiveStorage的图片处理。imgproxy的优势是将图片处理负载移出Rails进程,方便设置CDN,容易控制成本。配置imgproxy需要安装gem并在application.rb中添加配置。部署imgproxy可以使用fly.io,部署成功后添加环境变量并重启应用。imgproxy本身只处理图片,需要在其前面加CDN来处理缓存。以上是在生产环境使用imgproxy替代ActiveStorage图片处理的全过程。
最近将 Geeknote 的图片处理换到了 imgproxy,记录一下过程。 为什么使用 imgproxy imgproxy 是一个开源的图片处理引擎,可以用于替代 ActiveStorage...
这篇文章主要针对ActiveStorage的基本文件管理功能以及相关的拓展做简单的源码分析。 前言 上一篇文章简单讲解了ActiveStorage的基本数据表结构,包括各个数据表是如何关联到一起,并相互协作的。还有就是如果代码没有写好会引发的N+1问题。这篇文章主要来探讨一下ActiveStorage是如何对文件进行管理的(主要是ActiveStorage::Blob),比方说文件该如何上传...
今天想对Rails里面自带的附件管理工具ActiveStorage做个简单的剖析。如果一篇文章讲不完那就做成一个系列吧,这篇就专注讲讲ActiveStorage数据存储相关的问题。 前言 在许多业务场景下,附件的管理都是一个比较麻烦的问题。在Rails里面一般的数据库字段(数字,字符串等等),我们都会通过ORM来设置好对应的值,然后通过save方法来直接数据入库就是了。然而如果资源本身需要关...
完成下面两步后,将自动完成登录并继续当前操作。