2017-01-30 6 views
0

私はトンボを使ってその場で親指を生成していますが、それぞれのページのリロードごとに生成されていることに気付きました。トンボのドキュメントに読み込み、私はrack-cache宝石を追加することをお勧めします見たが、その宝石のドキュメントは言う:Flyfly on the thumbs、サーバーサイドキャッシュ?

農産物の鮮度(有効期限、のCache-Control)、および/または検証(のLast-Modified、ETagの)

これはクライアントのキャッシュに依存していますが、これは私にとっては意味がありません。私が何千もの訪問をしているならば、それぞれのために親指を生成したくなく、それぞれがキャッシュコピーを持つという事実に頼っています。

サーバーサイドで何らかのキャッシュを実装したいと思います。そのディメンションのファイルが既に存在する場合、再度生成するためにFreeBSDを生成しないようにします。

答えて

1

あなたは、ETagsとキャッシュコントロールヘッダーをクライアントに送信するだけで、わずかに役立ちます。

クライアントとあなたのレールのアプリ間の仲介として作用するSquidVarnishまたはRack::Cacheのようなリバースプロキシを使用している何the author is talking about - クライアントが要求したときに/my/stored/image/300x300.jpgリバースプロキシは単に今まで打っ要求せずに静的に資産を提供しますあなたのRailsアプリ(キャッシュが古くならない限り)。

ファイル・ストアを使用するトンボを設定することができます - それは、リバースプロキシよりもパフォーマンスが低いようになります。

datastore :file, 
    # directory under which to store files 
    root_path: 'public/dragonfly',  
    # - defaults to 'dragonfly' relative to current dir 
    # root for urls when serving directly from datastore using remote_url 
    server_root: 'public'    
+0

私がいることを持っているが、それはサムネイルを格納しません。オリジナルのアップロードされたファイルのみが、生成されたサムネイルファイルをパブリックフォルダに配置して各ページロードで生成されないようにすることは可能ですか? –

関連する問題