memcached で 1 MB よりも大きなデータを保持するためのソリューションについて知っている人はいますか?
大きなデータを設定する前に 1 MB の断片にカットし、memcached から取得した後にこの断片をマージするのは大したことではありません。また、このアルゴリズムはユーザーに対して透過的に機能します。
これは、このスニペットhttp://www.djangosnippets.org/snippets/488/のベースで機能します
memcached で 1 MB よりも大きなデータを保持するためのソリューションについて知っている人はいますか?
大きなデータを設定する前に 1 MB の断片にカットし、memcached から取得した後にこの断片をマージするのは大したことではありません。また、このアルゴリズムはユーザーに対して透過的に機能します。
これは、このスニペットhttp://www.djangosnippets.org/snippets/488/のベースで機能します
memcachedに上限を増やすように依頼することはできますが、それは多くの場合、何か間違ったことをしていることを示しています。
ほとんどの場合、人々がより大きなオブジェクトでやろうとしていることを掘り下げると、彼らは隅に戻って、「OK、どうすればこのオブジェクトの一部だけを要求できますか?」などの質問を始めます。
場合によっては、より大きなオブジェクトが正当に必要になることがあります(したがって、それをサポートします)。
サイトマップの gzip が役立つかどうかを確認しましたか? 私にとっては、サイトマップが 200kb に減り、memcached に完全に収まるようになりました。また、最近のサイトマップ ボットは gzip に問題はありません。
QuerySet の結果を含む長いリストをキャッシュする同様の問題がありました。MyModel.object.defer('huge_data_field1','huge_data_field2') は、結果から大量のデータを除外するのに役立ち、問題を解決しました。希望は他の誰かにも役立ちます。
サイトマップ (Django のサイトマップ フレームワークによって生成される) を取得し、これをファイルに保存する cron ジョブをセットアップできます。次に、そのファイルを静的メディアとして提供します(もちろん、djangoではなく、nginxまたはapacheを介して...)
curl -o /path-to-static-media/sitemap.xml http://yoursite.com/view-that-generates-sitemap/sitemap.xml