Пример #1
0
def invalidate_model(model):
    """
    Invalidates all caches for given model.
    NOTE: This is a heavy artilery which uses redis KEYS request, 
          which could be relatively slow on large datasets.
    """
    conjs_keys = redis_conn.keys('conj:%s:*' % get_model_name(model))
    if isinstance(conjs_keys, str):
        conjs_keys = conjs_keys.split()

    if conjs_keys:
        cache_keys = redis_conn.sunion(conjs_keys)
        redis_conn.delete(*(list(cache_keys) + conjs_keys))

    cache_schemes.clear(model)
Пример #2
0
def invalidate_model(model):
    """
    Invalidates all caches for given model.
    NOTE: This is a heavy artilery which uses redis KEYS request, 
          which could be relatively slow on large datasets.
    """
    conjs_keys = redis_conn.keys('conj:%s:*' % get_model_name(model))
    if isinstance(conjs_keys, str):
        conjs_keys = conjs_keys.split()

    if conjs_keys:
        cache_keys = redis_conn.sunion(conjs_keys)
        redis_conn.delete(*(list(cache_keys) + conjs_keys))

    cache_schemes.clear(model)
Пример #3
0
 def clear(self, model):
     """
     Clears schemes for models
     """
     redis_conn.delete(self.get_lookup_key(model))
     redis_conn.incr(self.get_version_key(model))
Пример #4
0
 def clear(self, model):
     """
     Clears schemes for models
     """
     redis_conn.delete(self.get_lookup_key(model))
     redis_conn.incr(self.get_version_key(model))