diff --git a/modules/Admin/Controllers/SettingsController.php b/modules/Admin/Controllers/SettingsController.php
index 90fc4d1049869c58e9f68f74d4704431d7e3baf5..58571176fbffd080f794d7dcd726fc21fbea6ef2 100644
--- a/modules/Admin/Controllers/SettingsController.php
+++ b/modules/Admin/Controllers/SettingsController.php
@@ -283,6 +283,10 @@ class SettingsController extends BaseController
             }
         }
 
+        if ($this->request->getPost('clear_cache') === 'yes') {
+            cache()->clean();
+        }
+
         return redirect('settings-general')->with('message', lang('Settings.housekeeping.runSuccess'));
     }
 
diff --git a/modules/Admin/Language/en/Settings.php b/modules/Admin/Language/en/Settings.php
index ab02bc087daca903a077c8139b9ba018574b2c93..a4ace0d7929774cccaba9dca1b1005cb255adccc 100644
--- a/modules/Admin/Language/en/Settings.php
+++ b/modules/Admin/Language/en/Settings.php
@@ -35,6 +35,8 @@ return [
         'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).',
         'rewrite_media' => 'Rewrite media metadata',
         'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)',
+        'clear_cache' => 'Clear all cache',
+        'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.',
         'run' => 'Run housekeeping',
         'runSuccess' => 'Housekeeping has been run successfully!',
     ],
diff --git a/modules/Admin/Language/fr/Settings.php b/modules/Admin/Language/fr/Settings.php
index e505df950c8b81e85f977c0a5d8709068ac238ea..98bf5b159178a76bc1191d14595615e3dba95442 100644
--- a/modules/Admin/Language/fr/Settings.php
+++ b/modules/Admin/Language/fr/Settings.php
@@ -35,6 +35,8 @@ return [
         'reset_counts_helper' => 'Cette option recalcul et réinitialise les compteurs de données (nombre d’abonné·e·s, de publications, de commentaires, …).',
         'rewrite_media' => 'Réécrire les métadonnées des fichiers média',
         'rewrite_media_helper' => 'Cette option supprimera tous les fichiers média superflus et les recréera (images, fichiers audio, transcripts, chapitrages, …)',
+        'clear_cache' => 'Supprimer tout le cache',
+        'clear_cache_helper' => 'Cette option supprimera l’intégralité du cache redis ou des fichiers cache du dossier writable/cache.',
         'run' => 'Faire le ménage',
         'runSuccess' => 'Le ménage a été effectué avec succès !',
     ],
diff --git a/themes/cp_admin/settings/general.php b/themes/cp_admin/settings/general.php
index 396008ceb59fece6b3caa65bcb5028a8a1b08d1f..b6d2b19df1213dc3f4139f957f4c0b918f7968b0 100644
--- a/themes/cp_admin/settings/general.php
+++ b/themes/cp_admin/settings/general.php
@@ -79,6 +79,7 @@
 
     <Forms.Toggler name="reset_counts" value="yes" size="small" checked="true" hint="<?= lang('Settings.housekeeping.reset_counts_helper') ?>"><?= lang('Settings.housekeeping.reset_counts') ?></Forms.Toggler>
     <Forms.Toggler name="rewrite_media" value="yes" size="small" checked="true" hint="<?= lang('Settings.housekeeping.rewrite_media_helper') ?>"><?= lang('Settings.housekeeping.rewrite_media') ?></Forms.Toggler>
+    <Forms.Toggler name="clear_cache" value="yes" size="small" checked="true" hint="<?= lang('Settings.housekeeping.clear_cache_helper') ?>"><?= lang('Settings.housekeeping.clear_cache') ?></Forms.Toggler>
 
     <Button variant="primary" type="submit" iconLeft="home-gear"><?= lang('Settings.housekeeping.run') ?></Button>