diff --git a/CHANGELOG b/CHANGELOG
index df93f89a41a72e4b7c4da61dbac3a1bc65c73987..5cd5b12a1e9e6a6ab2ed92e81ed2bbede0d0cbe8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -6,6 +6,7 @@ v 8.13.0 (unreleased)
   - Log LDAP lookup errors and don't swallow unrelated exceptions. !6103 (Markus Koller)
   - Add more tests for calendar contribution (ClemMakesApps)
   - Fix robots.txt disallowing access to groups starting with "s" (Matt Harrison)
+  - Use a ConnectionPool for Rails.cache on Sidekiq servers
   - Only update issuable labels if they have been changed
   - Revoke button in Applications Settings underlines on hover.
   - Update ruby-prof to 0.16.2. !6026 (Elan Ruusamäe)
diff --git a/config/application.rb b/config/application.rb
index 4792f6670a817636c44692f78633ed3d2bea39bd..8166b6003f6b6f7a44fb677ca8a22655a37fba07 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -116,6 +116,10 @@ module Gitlab
     redis_config_hash = Gitlab::Redis.params
     redis_config_hash[:namespace] = Gitlab::Redis::CACHE_NAMESPACE
     redis_config_hash[:expires_in] = 2.weeks # Cache should not grow forever
+    if Sidekiq.server? # threaded context
+      redis_config_hash[:pool_size] = Sidekiq.options[:concurrency] + 5
+      redis_config_hash[:pool_timeout] = 1
+    end
     config.cache_store = :redis_store, redis_config_hash
 
     config.active_record.raise_in_transactional_callbacks = true