私はurllib2/BeautifulSoupを使用して解析する、外部Webサイトからそのデータの一部を受け取るDjangoビューを持っています。Djangoのキャッシュ - 先に実行できますか?
この操作はかなり高価ですので、低レベルキャッシュAPIを使用して〜5分間キャッシュします。ただし、キャッシュされたデータの有効期限が切れた後にサイトにアクセスする各ユーザーは、新しいデータを解析するために外部サイトにアクセスする間、数秒の大幅な遅延が発生します。
新しいデータを遅延ロードして、ユーザーがそのような遅延を受けることがないようにする方法はありますか?それともやむを得ないことですか?
私は共有ホスティングサーバー上にいるので、あなたの答えに留意してください。
編集:これまでのところ助けてくれてありがとう。しかし、私は私が呼び出すpythonスクリプトでこれをどのように達成するかについてはまだ分かりません。私が行った基本的なテストは、djangoキャッシュがグローバルではないことを示しています。つまり、外部のスクリプトから呼び出すと、フレームワーク内でキャッシュデータが表示されません。提案?
もう1つのEDIT:が考えられます。これはおそらくローカルメモリキャッシュを使用しているためです。私は、memcached、DBにキャッシュを移動すれば、これは解決されると思う。
私は、この文脈であなたが怠け者であることを確信していません。キャッシュは、ほとんどの場合、遅延して、つまり必要なときにのみ埋められます。私はあなたが本当に他のウェブサイトからの資料をゆっくり解析することを話していると思います。 –