diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.info.yml b/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.info.yml
new file mode 100644
index 0000000..dabbdef
--- /dev/null
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.info.yml
@@ -0,0 +1,9 @@
+name: 'Cloudinary Storage Redis'
+description: 'The module provides stores information in Redis for uploaded Cloudinary files.'
+package: Cloudinary
+core: 8.x
+dependencies:
+  - cloudinary_storage
+  - cloudinary
+  - redis
+type: module
diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.install b/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.install
new file mode 100644
index 0000000..749a7f4
--- /dev/null
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.install
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * @file
+ * Install, uninstall and update hooks for Cloudinary Storage Redis module.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function cloudinary_storage_redis_uninstall() {
+  // Delete all saved resource data in Redis.
+  $storage = new CloudinaryStorageRedis();
+  $storage->clear();
+}
diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.module b/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.module
new file mode 100644
index 0000000..2388966
--- /dev/null
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_redis/cloudinary_storage_redis.module
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * @file
+ * Redis storage implementation for uploaded Cloudinary files.
+ */
+
+/**
+ * Implements hook_cloudinary_storage_info().
+ */
+function cloudinary_storage_redis_cloudinary_storage_info() {
+  return [
+    'cloudinary_storage_redis' => [
+      'title' => t('Redis'),
+      'class' => '\Drupal\cloudinary_storage_redis\CloudinaryStorageRedis',
+    ],
+  ];
+}
diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_redis/src/CloudinaryStorageRedis.php b/modules/cloudinary_storage/modules/cloudinary_storage_redis/src/CloudinaryStorageRedis.php
new file mode 100644
index 0000000..6e41b1a
--- /dev/null
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_redis/src/CloudinaryStorageRedis.php
@@ -0,0 +1,69 @@
+<?php
+
+namespace Drupal\cloudinary_storage_redis;
+
+use Drupal\cloudinary_storage\CloudinaryStorage;
+use Drupal\redis\ClientFactory;
+
+/**
+ * Implements cloudinary storage with database.
+ */
+class CloudinaryStorageRedis extends CloudinaryStorage {
+
+  /**
+   * @var \Drupal\redis\Flood\PhpRedis
+   */
+  protected $redis;
+
+  /**
+   * Creates a CloudinaryStorageRedis.
+   */
+  public function __construct($resource = NULL, $loaded = TRUE) {
+    // @TODO: rewrite cloudinary hooks to plugin-based style.
+    $redis_factory = \Drupal::service('redis.factory');
+    $checksum = \Drupal::service('cache_tags.invalidator.checksum');
+    $serialize = \Drupal::service('serialization.phpserialize');
+    $class_name = $redis_factory->getClass(ClientFactory::REDIS_IMPL_CACHE);
+    $this->redis = new $class_name('cloudinary_storage_redis', $redis_factory->getClient(), $checksum, $serialize);
+    parent::__construct($resource, $loaded);
+  }
+
+  /**
+   * Create or update cloudinary file resource into redis.
+   */
+  protected function save($resource) {
+    if (isset($resource['public_id'])) {
+      $this->redis->set($resource['public_id'], $resource);
+    }
+  }
+
+  /**
+   * Delete cloudinary file resource from redis.
+   */
+  protected function delete($public_id) {
+    $this->redis->clear($public_id);
+  }
+
+  /**
+   * Delete cloudinary folder resource from redis.
+   */
+  protected function deleteFolder($public_id) {
+    // Only remove file and folder resource in this folder.
+    // Cloudinary can not delete folder, parent folder update is not necessary.
+    $this->redis->clear($public_id, TRUE);
+  }
+
+  /**
+   * Load cloudinary file resource from redis.
+   */
+  protected function load($public_id) {
+    $resource = [];
+    $cache = $this->redis->get($public_id);
+
+    if ($cache && !empty($cache->data)) {
+      $resource = (array) $cache->data;
+    }
+
+    return $resource;
+  }
+}
