Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 缓存是否意味着在过期之前没有条件语句?_Python_Django_Performance_Caching_Memcached - Fatal编程技术网

Python 缓存是否意味着在过期之前没有条件语句?

Python 缓存是否意味着在过期之前没有条件语句?,python,django,performance,caching,memcached,Python,Django,Performance,Caching,Memcached,大家好,真棒 使用Django,我有一个函数需要进行许多计算才能显示,但坦率地说,不需要每次访问视图时都进行计算 所以我使用Djangocache。在访问函数之前,我有一个decorator来检查用户是否处于活动状态 @access_to('active_user') # i.e `if not request.user.is_active: PermissionDenied` @cache_page('one_week') # Not really that way def index(req

大家好,真棒

使用Django,我有一个函数需要进行许多计算才能显示,但坦率地说,不需要每次访问视图时都进行计算

所以我使用Django
cache
。在访问函数之前,我有一个decorator来检查用户是否处于活动状态

@access_to('active_user') # i.e `if not request.user.is_active: PermissionDenied`
@cache_page('one_week') # Not really that way
def index(request,slug):
    all_models1 = Model1.objects.all()
    all_models2 = Model2.objects.all()
    all_models3 = Model3.objects.all()

    # Calculation to check the Model that a user has visited recently
让我们举个例子:

用户在上午8:00时处于活动状态,并访问缓存将在一周后过期的视图

想象一下超级用户在上午9:00时仅仅改变了user.is_active=False

这是否意味着用户将始终拥有访问权限,直到
缓存
过期?
哪些数据
缓存
会一直捕获到过期


谢谢大家!

根据装饰程序的顺序,对
结果的
访问将被缓存或不被缓存。对
访问将以何种顺序缓存?所以,如果我做得很好,用户在缓存过期之前仍然可以访问?