Django-кэш-utils2 является приложение Django, который обеспечивает кэширования декоратор и недействительными функцию.
Установка
пункт установить Django-кэш-utils2
Использование
от cache_utils2 кэширования импорта, недействительным
Cached (60)
Def Foo (х, у = 0):
& NBSP; печать 'Foo называется "
& NBSP; вернуться X + Y
Foo (1, 2) # Foo называется
Foo (1, у = 2)
Foo (5, 6) # Foo называется
Foo (5, 6)
недействительным (Foo {'х': 1, 'у': 2})
Foo (1, 2) # Foo называется
Foo (5, 6)
Foo (х = 2) # Foo называется
Foo (х = 2)
класс Foo (объект):
& NBSP;Cached (60)
& NBSP; Def Foo (само, X, Y):
& NBSP; печать "Foo называется"
& NBSP; вернуться X + Y
OBJ = Foo ()
obj.foo (1,2) # Foo называется
obj.foo (1,2)
недействительным (Foo.foo, {'х': 1, 'у': 2})
obj.foo (1,2) # Foo называется
Пример Джанго
от django.db импортных моделей
от cache_utils2 кэширования импорта, недействительным
класс CityManager (models.Manager):
& NBSP; # кэшировать результат метод. Параметр «я» игнорируется
& NBSP;Cached (60 * 60 * 24)
& NBSP; Def умолчанию (само):
& NBSP; возвращение self.active () [0]
& NBSP; # кэшировать результат метод. Параметр «я» игнорируется, аргументы и
& NBSP; # kwargs используются для построения ключ кэша
& NBSP;Cached (60 * 60 * 24)
& NBSP; Def получить (я, * аргументы, ** kwargs):
& NBSP; возвращение супер (CityManager, само) .get (* аргументы, ** kwargs)
Класс Город (models.Model):
& NBSP; # ... деклараций на местах
& NBSP; объекты = CityManager ()
& NBSP; # метод экземпляра кэша Django модель результат по инстанции рк
& NBSP;Cached (30, Вар self.pk '=)
& NBSP; четкости has_offers (Self):
& NBSP; возвращение self.offer_set.count ()> 0
# Недействительными модельных методов
недействительным (City.has_offers, {'self.pk ": 1}
Примечания
Если украшен функция возвращает кэш cache_utils2.NO_CACHE будут пропущены.
ходовых испытаний
. Получить исходный код и запустить runtests.py
Требования
- Python
- Джанго
Комментарии не найдены