Redis用于缓存图像文件?

May*_*ank 1 memcached caching amazon-s3 redis amazon-elasticache

我正在使用Amazon S3来存储和检索图像存储网站的图像。问题是多个用户必须多次检索同一张图像。

是否建议使用Redis或memcached通过将图像文件直接存储到其中来缓存图像文件。

与通过Redis缓存提供图像相比,Amazon S3的数据传输定价要高得多。但是将图像文件直接存储在Redis上似乎是一个不好的建议,因为我读到某个地方Redis不利于处理大型数据文件。另外我也不明白,如果Redis将数据存储在内存中,它将如何存储这么多的图像(除非我创建了很多实例)。

建议将图像文件直接存储到Redis上,还是有替代方法来缓存这些图像?

pinterest和imgur是否使用Redis和memcache直接存储图像?如果不是,为什么他们有那么多实例?Pinterest的

Mic*_*bot 7

您因创造力而获得荣誉,但在这里并未发现漏洞。

首先,尝试提供来自弹性疼痛的图像是完全不合适的。这是一个缓存。根据定义,它是易变的。

其次,它不是Web服务器。

第三,它不打算暴露在互联网上。

但是,即使这些方法没有说服力,您的问题似乎还是基于对多个层次的定价结构的误解。

对于流入或流出Amazon ElastiCache节点本身的流量不收取任何Amazon ElastiCache数据传输费用。

https://aws.amazon.com/elasticache/pricing/

从技术上讲,这是准确的,但无济于事。

这仅与从Elasticache到EC2实例的转移有关。无论您是通过EC2还是通过S3返回数据,您仍然都必须通过Internet将数据返回到浏览器,并且费用相同。

数据从Amazon EC2传出到Internet

最高10 TB /月$ 0.09每GB

https://aws.amazon.com/ec2/pricing/

...要么...

从Amazon S3到Internet的数据传输

最高10 TB /月$ 0.090每GB

https://aws.amazon.com/ec2/pricing/

同时,发送到访问价格最低的边缘位置(美国和欧洲)的浏览器的CloudFront的流量为$ 0.085 / GB。然后,当您选择价格类别而不是全局价格类别时,您可以控制哪些边缘位置可用:

如果您选择的价格类别不包含所有边缘位置,则会向您收取所选价格类别中最便宜的区域的费率。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html

如果配置正确,则为$ 0.085。

从S3到CloudFront或从EC2到CloudFront的传输是免费的。仅从CloudFront向Internet收费。