listy-django-cache

Скриншот программы:
listy-django-cache
Детали программы:
Версия: 0.9.0
Дата загрузки: 11 May 15
Разработчик: Wavii, Inc.
Тип распространения: Бесплатная
Популярность: 0

Rating: 4.0/5 (Total Votes: 1)

Listy-Django-кэш детерминированный механизм кэширования для проектов Django & NBSP;. Она попытается сохранить кэш-синхронизации с базой данных путем обновления при изменении, а не полагаться на тайм-ауты. Как следует из названия, поддерживает Listy глядя списки объектов.
<Сильный> Установить
& NBSP; пункт установить Django-Listy-кэш
<Сильный> Использование
Использование Listy так же просто, как замена менеджера модели по умолчанию с CachingManager и обеспечение его со списком ключей, которые вы хотите, чтобы запрос с.
В этом надуманный пример, я могу посмотреть на основании рк, просто последователем, или как последователя и followee:
импорт Listy
класс Последующие (models.Model):
& NBSP; # Настройка этот кэш, чтобы поддержать поиск по "рк" или "последователь"
& NBSP; объекты = listy.CachingManager ([('PK',), ('последователь',), ('последователь', 'followee')])
& NBSP; создано = models.DateTimeField (auto_now_add = True)
& NBSP; последователем = models.ForeignKey ("Пользователь", related_name = 'следует')
& NBSP; followee = models.ForeignKey ("Пользователь", related_name = 'последователи')
# Следуйте кого
Follow.cache.add (последователь = я, followee = Вы)
# Отписаться кто
Follow.cache.delete (последователь = я, followee = Вы)
# Получить пользователей я следую
Follow.cache.get (последователь = я)
# Получить ли следовать я вас
Follow.cache.get (последователь = я, последователь = Вы)
# Получить счетчики для пользователей я следую
от даты и времени дата импорта, timedelta
от dateutil.rrule импорта rrule, ежедневно, еженедельно, ежемесячно, ежегодно
начало, конец = date.today () - timedelta (дней = 100), date.today ()
Follow.cache.daily_counts (создано = rrule (ежедневно, dtstart = не начать, пока = конец))
Вы можете увидеть полный набор примеров в test_django_app / кэширования / tests.py.
Аргументы CachingManager:
- Кэши - список кортежей, описывающих поля, которые должны быть ключи в кэш
- Soft_delete_field - название удаления поля, которые могут быть использованы для удаления объектов, фактически не удаляя их из базы данных, если эта функция поддерживается модели (по умолчанию None)
- Deleted_timestamp_field - имя поля, которое должно быть установлено на DateTime, когда не удаление объекта (по умолчанию None)
- Enabled_field - имя поля, которое определяет, включена ли объект или нет, это трактуется как удалить, что не может быть отменено при нормальных обстоятельствах (по умолчанию отсутствует)
- Timestamp_field - имя поля, которые держат отметка будет использоваться для счетчиков (по умолчанию отсутствует)
- Disable_cache - выключить кэширование, могут быть использованы для отладки (по умолчанию False)
- Адрес - функция, которая возвращает адрес кэше (по умолчанию 127.0.0.1:11211)
- Filter_out_soft_deletes - лечить мягкие удаляет как истинных удаления, фильтровать их, возвращаясь списки (по умолчанию True)
Список кортежей, определенных в аргументе кэшей сердце этого механизма кэширования. Через него мы определяем, что список объектов мы хотим кэшированных и обновленных, и как мы будем обращаться эти списки.

Особенности:

  • Очень простой в использовании
  • Детерминированный
  • Быстрый доступ к спискам вещей
  • Пакеты данных в компактной форме (самый маленький записей о переходе от 1k до 10s байт)
  • По требованию десериализации
  • Использование команды предварять MemCache для быстрого добавляет
  • Отслеживает общей, ежегодно, ежемесячно, еженедельно, ежедневно и рассчитывает для каждого кэшированного списка
  • Дополнительно Объект реестра каждого запроса
  • Дополнительная поддержка для мягких удалений

Требования:

  • Python
  • Джанго

Комментарии к listy-django-cache

Комментарии не найдены
добавить комментарий
Включите картинки!