Fixed issue of not connecting to redis instance and added caching for courses

This commit is contained in:
Keannu Bernasol 2023-09-12 19:42:32 +08:00
parent 7053f1d487
commit 0215680ea5
4 changed files with 26 additions and 2 deletions

Binary file not shown.

View file

@ -261,11 +261,30 @@ LEAFLET_CONFIG = {
'TILES': 'https://openstreetmap.keannu1.duckdns.org/tile/{z}/{x}/{y}.png'
}
REDIS_HOST = os.getenv('REDIS_HOST', 'localhost')
REDIS_PORT = os.getenv('REDIS_PORT', 6379)
# Django Redis Cache
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://redis:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"
# Redis Cache for Django Channel Websockets
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": [("127.0.0.1", 6379)],
"hosts": [("redis", 6379)],
},
},
}

View file

@ -1,3 +1,5 @@
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page
from rest_framework import generics
from .models import Course
from .serializers import CourseSerializer
@ -6,3 +8,7 @@ from .serializers import CourseSerializer
class CourseListView(generics.ListAPIView):
serializer_class = CourseSerializer
queryset = Course.objects.all()
@method_decorator(cache_page(60*60))
def dispatch(self, *args, **kwargs):
return super().dispatch(*args, **kwargs)

View file

@ -4,7 +4,6 @@ import redis
REDIS_HOST = os.getenv('REDIS_HOST', 'localhost')
REDIS_PORT = os.getenv('REDIS_PORT', 6379)
if __name__ == '__main__':
while True:
try: