2016-06-21 127 views
0

我目前使用django-compressor,它通过缓存压缩的CSS和JS文件提供了很大的好处。Django:缓存图像

现在我想缓存图像。我知道可以使用HTTP标头(下游缓存)启用浏览器缓存,但我想在这里使用Redis(它已被django-compressor使用)。

所以这是我的第一个问题:是否正确地使用Redis缓存图像?

我已阅读了关于sorl-thumbnail及其通过缩略图模板标签缓存的有趣内容。我想也许我可以用原始方式使用它,但标签需要几何参数。

有没有我可以用来缓存图像的现有Django包?我应该写一个类似于sorl-thumbnail的缩略图标签的模板标签,以使用Django's built-in cache来启用图像缓存吗?

+0

不知道我理解你的问题。你是什​​么意思“是对的”?你想要做什么样的缓存 - 你的意思是从内存而不是从磁盘读取图像? – advance512

+0

是的,II想从内存中读取图像。有许多关于下游缓存的资源,但我没有发现Redis在内存缓存方面有什么有趣的地方...... –

+0

“所以这是我的第一个问题:是否将图像缓存到Redis?没有 – e4c5

回答

1

这不是redis的工作,也不是django的好用例。如果您想要缓存内存中的图像以便从服务器提供服务,请使用django应用服务器(如uwsgi或gunicorn)和nginx,并使用varnish将图像缓存到内存中。 Redis不太适合存储/检索大块。

+0

这很有趣!你有没有关于你最后的陈述的任何资源? –

+0

http://martin.podval.eu/2015/02/performance-redis-nosql-blob.html - 请注意随着blob大小的增加,TPS(每秒事务数)的急剧下降。 – 2ps