--- /dev/null
+<?php
+
+/**
+ * @file
+ * Provides a service to manage file metadata.
+ */
+
+use \Drupal\Core\Entity\EntityInterface;
+
+/**
+ * Implements hook_cache_flush().
+ */
+function file_mdm_cache_flush() {
+ return array('file_mdm');
+}
+
+/**
+ * Implements hook_file_delete().
+ */
+function file_mdm_file_delete(EntityInterface $entity) {
+ // Deletes any cached file metadata information upon deletion of a file
+ // entity.
+ $fmdm = \Drupal::service('file_metadata_manager');
+ $fmdm->deleteCachedMetadata($entity->getFileUri());
+ $fmdm->release($entity->getFileUri());
+}