Revert "[FEAT]: Add mem caching to the API to create and retrieve IntegritySignature" (#27936)

This reverts commit c6192b8b40656c44ba0a89cdd569fb0c0e4f87c4.
The caching does little to save performance and in the case of whole
course interation, it has a netgative performance impact.
This commit is contained in:
Simon Chen
2021-06-11 13:59:20 -04:00
committed by GitHub
parent 1189766c36
commit 16cffd206f
3 changed files with 7 additions and 60 deletions

View File

@@ -5,11 +5,9 @@ Agreements API
import logging
from django.contrib.auth import get_user_model
from django.core.cache import cache
from django.core.exceptions import ObjectDoesNotExist
from opaque_keys.edx.keys import CourseKey
from openedx.core.djangoapps.agreements.cache import get_integrity_signature_cache_key
from openedx.core.djangoapps.agreements.models import IntegritySignature
log = logging.getLogger(__name__)
@@ -35,9 +33,6 @@ def create_integrity_signature(username, course_id):
'Integrity signature already exists for user_id={user_id} and '
'course_id={course_id}'.format(user_id=user.id, course_id=course_id)
)
cache_key = get_integrity_signature_cache_key(username, course_id)
# Write into the cache for future retrieval
cache.set(cache_key, signature)
return signature
@@ -53,17 +48,10 @@ def get_integrity_signature(username, course_id):
* An IntegritySignature object, or None if one does not exist for the
user + course combination.
"""
cache_key = get_integrity_signature_cache_key(username, course_id)
cached_integrity_signature = cache.get(cache_key)
if cached_integrity_signature:
return cached_integrity_signature
user = User.objects.get(username=username)
course_key = CourseKey.from_string(course_id)
try:
signature = IntegritySignature.objects.get(user=user, course_key=course_key)
cache.set(cache_key, signature)
return signature
return IntegritySignature.objects.get(user=user, course_key=course_key)
except ObjectDoesNotExist:
return None
@@ -78,12 +66,5 @@ def get_integrity_signatures_for_course(course_id):
Returns:
* QuerySet of IntegritySignature objects (can be empty).
"""
course_key = CourseKey.from_string(course_id)
course_integrity_signature = IntegritySignature.objects.filter(
course_key=course_key
).select_related('user')
for signature in course_integrity_signature:
cache_key = get_integrity_signature_cache_key(signature.user.username, course_id)
cache.set(cache_key, signature)
return course_integrity_signature
return IntegritySignature.objects.filter(course_key=course_key)