2016-06-21 289 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