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)
def clear(self, model): """ Clears schemes for models """ redis_conn.delete(self.get_lookup_key(model)) redis_conn.incr(self.get_version_key(model))