Django, кэширующийся - это может быть сделано заблаговременно?

Вы должны передать переменную соединения в качестве первого параметра Например:

$con=mysqli_connect("localhost","my_user","my_password","my_db");
$age = mysqli_real_escape_string($con, 

Вы должны передать переменную соединения в качестве первого параметра Например:

[110]

Изучите документацию для получения более подробной информации. http://php.net/manual/en/mysqli.real-escape-string.php

POST['age']);

Изучите документацию для получения более подробной информации. http://php.net/manual/en/mysqli.real-escape-string.php

5
задан Yuval Adam 28 April 2009 в 17:29
поделиться

4 ответа

Итак, вы хотите запланировать что-то для запуска через регулярные промежутки времени? За счет некоторого процессорного времени вы можете использовать это простое приложение .

В качестве альтернативы, если вы можете его использовать, задание cron для каждых 5 минут будет:

*/5 * * * * /path/to/project/refresh_cache.py

Веб-хосты предоставляют различные способы их настройки. Для cPanel используйте Cron Manager. Для Google App Engine используйте cron.yaml . Для всего этого вам необходимо сначала настроить среду в refresh_cache.py .

Кстати, ответ на запрос пользователя считается отложенным кэшированием. Это упреждающее кэширование. И не забывайте кэшировать достаточно долго для воссоздания страницы!

8
ответ дан 18 December 2019 в 10:48
поделиться

Вы также можете использовать скрипт на python для вызова своего представления и записи его в файл, а затем передать его статически с помощью lightpd, например:

request = HttpRequest()
request.path = url # the url of your view
(detail_func, foo, params) = resolve(url)
params['gmap_key'] = settings.GMAP_KEY_STATIC
detail = detail_func(request, **params)
out = open(dir + "index.html", 'w')
out.write(detail.content)
out.close()

затем вызвать свой сценарий с помощью cron

0
ответ дан 18 December 2019 в 10:48
поделиться

«Я все еще Я не уверен, как мне добиться этого с помощью сценария Python, который я буду вызывать. "

Проблема в том, что ваша" значительная задержка в несколько секунд, пока я иду на внешний сайт для анализа новых данных ", не имеет ничего общего с Кэширование Django вообще.

Вы можете кэшировать его везде, и когда вы отправляетесь на повторный анализ внешнего сайта, возникает задержка. Хитрость заключается в том, чтобы НЕ анализировать внешний сайт, пока пользователь ожидает его страницы.

Хитрость заключается в том, чтобы проанализировать внешний сайт до того, как пользователь запросит страницу. Так как ты не можешь вернуться в прошлое,

4
ответ дан 18 December 2019 в 10:48
поделиться

У меня нет доказательств, но я прочитал, что BeautifulSoup работает медленно и занимает много памяти. Возможно, вы захотите взглянуть на использование модуля lxml. Предполагается, что lxml намного быстрее и эффективнее, и может делать гораздо больше, чем BeautifulSoup.

Конечно, анализ здесь не является вашим узким местом; внешний ввод / вывод есть.

Прежде всего, используйте memcached!

Затем можно использовать следующую стратегию:

  • Ваш кэшированный объект, называемый A , хранится в кеше с динамическим ключом ( A_ , например).
  • Другой кэшированный объект содержит текущий ключ для A , называемый A_key .
  • Ваше приложение будет тогда получить ключ для A , сначала получив значение в A_key
  • Периодический процесс будет заполнять кеш с помощью A_
4
ответ дан 18 December 2019 в 10:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: