I've seen all over problems using Memcached in Django projects which is considered to be
The fastest, most efficient type of cache supported natively by Django
For instances,
So, how can we then use it?
This answer explains how to install Memcached on Windows 10 and how to integrate it with Django through a specific client. It was validated using Memcached 1.4.4, Python 2.7 and Django 1.11.
In your Django project, under settings.py, add the following code in the bottom of the file
SESSIONS_ENGINE='django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
Install memcached client for Python with your virtual environment active (python-memcached)
pip install python-memcached
Download Memcached using one of the following download links and extract it to a particular folder
Open that folder location in the Terminal or PowerShell and run
.\memcached.exe -h
you should get something like this
Run the following command (-m is for the amount of memory you want to dedicate and -vvv is for extreme verbose)
.\memcached.exe -m 512 -vvv
In the view you want to use cache, specify it in urls.py like
from django.conf.urls import include, url
from django.views.decorators.cache import cache_page
from .views import IndexView
urlpatterns = [
url(r'^$', cache_page(60*60)(IndexView.as_view()), name="index"),
]
Go to the Django project, start the server and you should get much better results in your Time load.