diff --git a/biscuit/core/settings.py b/biscuit/core/settings.py
index 7f399bca65591b06ae46b55b25c2085b829e726d..e85c6027143c84330bfad0b9bba8b20c0d797066 100644
--- a/biscuit/core/settings.py
+++ b/biscuit/core/settings.py
@@ -83,6 +83,7 @@ SASS_PROCESSOR_INCLUDE_DIRS = [
 ]
 
 MIDDLEWARE = [
+    'django.middleware.cache.UpdateCacheMiddleware',
     'debug_toolbar.middleware.DebugToolbarMiddleware',
     'django.middleware.security.SecurityMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
@@ -96,6 +97,7 @@ MIDDLEWARE = [
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
     'easyaudit.middleware.easyaudit.EasyAuditMiddleware',
     'maintenance_mode.middleware.MaintenanceModeMiddleware',
+    'django.middleware.cache.FetchFromCacheMiddleware'
 ]
 
 ROOT_URLCONF = 'biscuit.core.urls'
@@ -138,6 +140,13 @@ DATABASES = {
     }
 }
 
+if _settings.get('caching.memcached.enabled', True):
+    CACHES = {
+        'default': {
+            'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
+            'LOCATION': _settings.get('caching.memcached.address', '127.0.0.1:11211')
+        }
+    }
 
 # Password validation
 # https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
diff --git a/pyproject.toml b/pyproject.toml
index 738baa50346ee0325e2e84ba3611532415e8cc82..f2f0414d9cdd7c643b70d11143f953adbded31f1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -44,6 +44,7 @@ easy-thumbnails = "^2.6"
 django-image-cropping = "^1.2"
 django-contact-form = "^1.7"
 django-impersonate = "^1.4"
+python-memcached = "^1.59"
 
 [tool.poetry.extras]
 ldap = ["django-auth-ldap"]