Welcome to mirror list, hosted at ThFree Co, Russian Federation.

faster_cache_keys.rb « concerns « models « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 312a9aa9305957c1e230570e6fa5ce2c82346c59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# frozen_string_literal: true

module FasterCacheKeys
  # A faster version of Rails' "cache_key" method.
  #
  # Rails' default "cache_key" method uses all kind of complex logic to figure
  # out the cache key. In many cases this complexity and overhead may not be
  # needed.
  #
  # This method does not do any timestamp parsing as this process is quite
  # expensive and not needed when generating cache keys. This method also relies
  # on the table name instead of the cache namespace name as the latter uses
  # complex logic to generate the exact same value (as when using the table
  # name) in 99% of the cases.
  def cache_key
    "#{self.class.table_name}/#{id}-#{read_attribute_before_type_cast(:updated_at)}"
  end
end