diff --git a/config/README.md b/config/README.md
index f04758fcaeb6a6065c11da26282877ca44f1365b..2ba6df40f1b1022ebcfba4b23c43b69e7fbd64b1 100644
--- a/config/README.md
+++ b/config/README.md
@@ -71,14 +71,14 @@ environment variable.
 An example configuration file for Redis is in this directory under the name
 `resque.yml.example`.
 
-| Name | Fallback instance | Purpose |
-| --- | --- | --- |
-| `cache` | | Volatile non-persistent data |
-| `queues` | | Background job processing queues |
-| `shared_state` | | Persistent application state |
-| `trace_chunks` | `shared_state` | [CI trace chunks](https://docs.gitlab.com/ee/administration/job_logs.html#incremental-logging-architecture) |
-| `rate_limiting` | `cache` | [Rate limiting](https://docs.gitlab.com/ee/user/admin_area/settings/user_and_ip_rate_limits.html) state |
-| `sessions` | `shared_state` | [Sessions](https://docs.gitlab.com/ee/development/session.html#redis)|
+| Name               | Fallback instance | Purpose                                                                                                     |
+|--------------------|-------------------|-------------------------------------------------------------------------------------------------------------|
+| `cache`            |                   | Volatile non-persistent data                                                                                |
+| `queues`           |                   | Background job processing queues                                                                            |
+| `shared_state`     |                   | Persistent application state                                                                                |
+| `trace_chunks`     | `shared_state`    | [CI trace chunks](https://docs.gitlab.com/ee/administration/job_logs.html#incremental-logging-architecture) |
+| `rate_limiting`    | `cache`           | [Rate limiting](https://docs.gitlab.com/ee/user/admin_area/settings/user_and_ip_rate_limits.html) state     |
+| `sessions`         | `shared_state`    | [Sessions](https://docs.gitlab.com/ee/development/session.html#redis)                                       |
 
 If no configuration is found, or no URL is found in the configuration
 file, the default URL used is:
diff --git a/config/application.rb b/config/application.rb
index a3fe4935fdf556a19c1a63898496870434b061ca..f02aa5723ec2f8b651f104cb11b982fa3e8863d0 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -59,6 +59,7 @@ class Application < Rails::Application
     require_dependency Rails.root.join('lib/gitlab/redis/trace_chunks')
     require_dependency Rails.root.join('lib/gitlab/redis/rate_limiting')
     require_dependency Rails.root.join('lib/gitlab/redis/sessions')
+    require_dependency Rails.root.join('lib/gitlab/redis/repository_cache')
     require_dependency Rails.root.join('lib/gitlab/current_settings')
     require_dependency Rails.root.join('lib/gitlab/middleware/read_only')
     require_dependency Rails.root.join('lib/gitlab/middleware/compressed_json')
diff --git a/lib/gitlab/redis.rb b/lib/gitlab/redis.rb
index 8857b544364863a05c59df1f2b47728b96e8226a..ed4f60156034feeb3beebeea0fb92300803151c6 100644
--- a/lib/gitlab/redis.rb
+++ b/lib/gitlab/redis.rb
@@ -11,6 +11,7 @@ module Redis
       Gitlab::Redis::Cache,
       Gitlab::Redis::Queues,
       Gitlab::Redis::RateLimiting,
+      Gitlab::Redis::RepositoryCache,
       Gitlab::Redis::Sessions,
       Gitlab::Redis::SharedState,
       Gitlab::Redis::TraceChunks
diff --git a/lib/gitlab/redis/repository_cache.rb b/lib/gitlab/redis/repository_cache.rb
new file mode 100644
index 0000000000000000000000000000000000000000..61eaf701e42336dc4b2efa21ad31a0f272fbcc36
--- /dev/null
+++ b/lib/gitlab/redis/repository_cache.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+module Gitlab
+  module Redis
+    class RepositoryCache < ::Gitlab::Redis::Wrapper
+      # The data we store on RepositoryCache used to be stored on Cache.
+      def self.config_fallback
+        Cache
+      end
+    end
+  end
+end
diff --git a/spec/lib/gitlab/redis/repository_cache_spec.rb b/spec/lib/gitlab/redis/repository_cache_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..72ba5647a410c86379d0ade607d695683856ef51
--- /dev/null
+++ b/spec/lib/gitlab/redis/repository_cache_spec.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Gitlab::Redis::RepositoryCache, feature_category: :scalability do
+  include_examples "redis_new_instance_shared_examples", 'repository_cache', Gitlab::Redis::Cache
+end