thread_memory_cache.rb 489 Bytes
Newer Older
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