Bir türlü TRUE olanları 1 yıl, FALSE olanları 10 dakika önbelleğe alamadım. Önbelleğe alıyorum fakat her iki durum içinde 2-3 dakika sonra önbellek bitiyor.
Bu arada veritabanı kullanılmıyor, minik bir API servisi. sitem.com/sorgu/sorgusitesi.com şeklinde bir istek atıyor ve yanıt alıyorum.
Sunucu taraflı bu cache işlemini nasıl yapabilirim bir önerisi olan var mı? Django ile ilk çalışmam, çözemedim sorunu bir türlü.
from django.http import HttpResponse, JsonResponse
from django.views.decorators.cache import cache_page
from django.core.cache import cache
import json
cache_key = f"sorgu_{sorgu_url}"
cached_response = cache.get(cache_key)
if cached_response:
response_data = json.loads(cached_response)
response_data["isCache"] = True
return json.dumps(response_data, ensure_ascii=False).encode('utf-8')
if karar_durumu:
tarih_start_index = response.find(", ") + 2
tarih_end_index = response.find(" tarihli")
if tarih_start_index != -1 and tarih_end_index != -1:
karar_tarihi = response[tarih_start_index:tarih_end_index]
response_data = {
"queryUrl": sorgu_url,
"decisionStatus": karar_durumu,
"decision": response,
"decisionDate": karar_tarihi,
"isCache": False
}
json_data = json.dumps(response_data, ensure_ascii=False)
cache.set(cache_key, json_data, 60 * 60 * 24 * 365)
return json_data.encode('utf-8')
response_data = {
"queryUrl": sorgu_url,
"decisionStatus": karar_durumu,
"decision": response,
"decisionDate": None,
"isCache": False
}
json_data = json.dumps(response_data, ensure_ascii=False)
cache.set(cache_key, json_data, 60 * 10)
return json_data.encode('utf-8')