summaryrefslogtreecommitdiff
path: root/lib/gitlab/thread_memory_cache.rb
blob: 7f363dc7feb0ba74fb901d4bb1ada64d3ad0fff7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# frozen_string_literal: true

module Gitlab
  class ThreadMemoryCache
    THREAD_KEY = :thread_memory_cache

    def self.cache_backend
      # Note ActiveSupport::Cache::MemoryStore is thread-safe.  Since
      # each backend is local per thread we probably don't need to worry
      # about synchronizing access, but this is a drop-in replacement
      # for ActiveSupport::Cache::RedisStore.
      Thread.current[THREAD_KEY] ||= ActiveSupport::Cache::MemoryStore.new
    end
  end
end