本文整理匯總了Python中django.core.cache.caches方法的典型用法代碼示例。如果您正苦於以下問題:Python cache.caches方法的具體用法?Python cache.caches怎麽用?Python cache.caches使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類django.core.cache
的用法示例。
在下文中一共展示了cache.caches方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: get_remote_symptom_codes
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def get_remote_symptom_codes(group):
"""
Remote lookup for symptom codes
"""
symptoms = {}
cache = caches['comptia']
# First, try to load from global cache (updated every 24h)
data = cache.get('codes') or {}
if not data:
# ... then try to fetch from GSX
GsxAccount.fallback()
data = gsxws.comptia.fetch()
cache.set('codes', data)
for k, v in data.get(group):
symptoms[k] = v
return symptoms
示例2: get_cache_key
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def get_cache_key(request, key_prefix=None, method='GET', cache=None):
"""
Returns a cache key based on the request URL and query. It can be used
in the request phase because it pulls the list of headers to take into
account from the global URL registry and uses those to build a cache key
to check against.
If there is no headerlist stored, the page needs to be rebuilt, so this
function returns None.
"""
if key_prefix is None:
key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX
cache_key = _generate_cache_header_key(key_prefix, request)
if cache is None:
cache = caches[settings.CACHE_MIDDLEWARE_ALIAS]
headerlist = cache.get(cache_key, None)
if headerlist is not None:
return _generate_cache_key(request, method, headerlist, key_prefix)
else:
return None
示例3: benchmark
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def benchmark(self, query_str, to_list=True, num_queries=1):
# Clears the cache before a single benchmark to ensure the same
# conditions across single benchmarks.
caches[settings.CACHALOT_CACHE].clear()
self.query_name = query_str
query_str = 'Test.objects.using(using)' + query_str
if to_list:
query_str = 'list(%s)' % query_str
self.query_function = eval('lambda using: ' + query_str)
with override_settings(CACHALOT_ENABLED=False):
self.bench_once(CONTEXTS[0], num_queries)
self.bench_once(CONTEXTS[1], num_queries, invalidate_before=True)
self.bench_once(CONTEXTS[2], 0)
示例4: run
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def run(self):
for db_alias in settings.DATABASES:
self.db_alias = db_alias
self.db_vendor = connections[self.db_alias].vendor
print('Benchmarking %s…' % self.db_vendor)
for cache_alias in settings.CACHES:
cache = caches[cache_alias]
self.cache_name = cache.__class__.__name__[:-5].lower()
with override_settings(CACHALOT_CACHE=cache_alias):
self.execute_benchmark()
self.df = pd.DataFrame.from_records(self.data)
if not os.path.exists(RESULTS_PATH):
os.mkdir(RESULTS_PATH)
self.df.to_csv(os.path.join(RESULTS_PATH, 'data.csv'))
self.xlim = (0, self.df['time'].max() * 1.01)
self.output('db')
self.output('cache')
示例5: get_cache_key
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def get_cache_key(request, key_prefix=None, method='GET', cache=None):
"""
Return a cache key based on the request URL and query. It can be used
in the request phase because it pulls the list of headers to take into
account from the global URL registry and uses those to build a cache key
to check against.
If there isn't a headerlist stored, return None, indicating that the page
needs to be rebuilt.
"""
if key_prefix is None:
key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX
cache_key = _generate_cache_header_key(key_prefix, request)
if cache is None:
cache = caches[settings.CACHE_MIDDLEWARE_ALIAS]
headerlist = cache.get(cache_key)
if headerlist is not None:
return _generate_cache_key(request, method, headerlist, key_prefix)
else:
return None
示例6: get_cached_user
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def get_cached_user(request):
if not hasattr(request, '_cached_user'):
try:
key = CACHE_KEY.format(request.session[SESSION_KEY])
cache = caches['default']
user = cache.get(key)
except KeyError:
user = AnonymousUser()
if user is None:
user = get_user(request)
cache = caches['default']
# 8 hours
cache.set(key, user, 28800)
logger.debug('No User Cache. Setting now: {0}, {1}'.format(key, user.username))
request._cached_user = user
return request._cached_user
示例7: get_redis_client
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def get_redis_client():
global _client
if _client is not None:
return _client
try:
cache = caches['userlog']
except KeyError:
raise ImproperlyConfigured("No 'userlog' cache found in CACHES.")
try:
try:
_client = cache.client # django-redis
except AttributeError:
_client = cache.get_master_client() # django-redis-cache
assert isinstance(_client, redis.StrictRedis)
except (AssertionError, AttributeError):
raise ImproperlyConfigured("'userlog' cache doesn't use Redis.")
return _client
示例8: dispatch
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def dispatch(self, request, *args, **kwargs):
""" Fetches queried data from graphql and returns cached & hashed key. """
if not graphql_api_settings.CACHE_ACTIVE:
return self.super_call(request, *args, **kwargs)
cache = caches["default"]
operation_ast = self.get_operation_ast(request)
if operation_ast and operation_ast.operation == "mutation":
cache.clear()
return self.super_call(request, *args, **kwargs)
cache_key = "_graplql_{}".format(self.fetch_cache_key(request))
response = cache.get(cache_key)
if not response:
response = self.super_call(request, *args, **kwargs)
# cache key and value
cache.set(cache_key, response, timeout=graphql_api_settings.CACHE_TIMEOUT)
return response
示例9: get
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def get(self, request, pk):
# 獲取文章詳情
obj = self.get_obj(pk)
if not obj:
raise Http404()
ctx = {
'art': obj,
'tags': ContextUtil.random_tags(),
'cnxh': self.get_cnxh(obj),
'others': self.get_others(obj),
'next': self.get_next(obj),
'prev': self.get_prev(obj),
'liked': self.get_art_like_status(pk),
}
# 更新閱讀次數
obj.read += 1
obj.save(update_fields=('read',))
obj.like += caches['four'].get('like_{}'.format(pk), 0)
return render(request, 'db/detail.html', ctx)
示例10: test_check_cache_default
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def test_check_cache_default():
cache.caches = cache.CacheHandler()
assert contrib.check_cache_default()
示例11: test_check_cache_default_down
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def test_check_cache_default_down(settings):
"""Check if the application can connect to the default cached and
read/write some dummy data.
"""
cache.caches = cache.CacheHandler()
settings.CACHES={
'default': {
'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
}
}
assert not contrib.check_cache_default()
示例12: __init__
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def __init__(self, *args, **kwargs):
super(CacheMixin, self).__init__(*args, **kwargs)
# borrowed from FetchFromCacheMiddleware
self.key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX
self.cache_alias = settings.CACHE_MIDDLEWARE_ALIAS
self.cache = caches[self.cache_alias]
示例13: default_response_headers
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def default_response_headers(self):
# shouldn't be necessary since we're setting "cache-control: private" and delivering by HTTPS, but be sure
# there's no cross-contamination in caches
h = super(CacheMixin, self).default_response_headers
h['Vary'] = 'Accept, Authorization, Cookie'
return h
示例14: get_cached_choices
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def get_cached_choices(self):
if not self.cache_config['enabled']:
return None
c = caches(self.cache_config['cache'])
return c.get(self.cache_config['key']%self.field_path)
示例15: set_cached_choices
# 需要導入模塊: from django.core import cache [as 別名]
# 或者: from django.core.cache import caches [as 別名]
def set_cached_choices(self,choices):
if not self.cache_config['enabled']:
return
c = caches(self.cache_config['cache'])
return c.set(self.cache_config['key']%self.field_path,choices)