代码之家  ›  专栏  ›  技术社区  ›  Sandeep

get方法中django rest框架中的Redis

  •  1
  • Sandeep  · 技术社区  · 6 年前

    我在django restframe工作中使用redis,在get方法中使用get问题

    我已使用不同的密钥为多个用户保存数据

    @api_view(['GET'])
    def abc(request):
        key  = request.META['HTTP_KEY']
    
        if  cache.get(key) == None:
            print('create a cache and return data ');
            cache.set(key,key,timeout =100)
            return JsonResponse({'data': cache.get(key) })
        else:
            print('return data from cache')
            return JsonResponse({'data': cache.get(key) })
    

    第一次创建缓存并返回数据时,当我下次使用不同的键单击时,它将返回相同的数据事件,它不会执行if-else条件/不打印打印命令。我认为它可以创建url基缓存,如何解决这个问题?

    我第一次按“a”键,它返回我=a并打印“创建缓存并返回数据”

    下次我按b键时,它会返回旧数据“a”,并且不会打印任何行“创建缓存并返回数据”/“从缓存返回数据”

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jaskaran singh Rajal    6 年前

    使用此

    from django.views.decorators.vary import vary_on_headers
    
    @vary_on_headers('key')
    

    “键”请在此处确定标题键的尺寸

    Using Very header