モジュール: Mongoid::Cacheable

次による拡張機能。
ActiveSupport::Concern
次のドキュメントに含まれます。
構成可能
定義:
lib/mongoid/cacheable.rb

Overview

キャッシュに関する動作をカプセル化します。

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

# cache_key = string

キャッシュ キーを出力します。 これにより、複数形のモデル名に異なる値が追加されます。

new_record の場合- は /new 非 nil キャッシュ_バージョン を追加しますか。 - Append / ID -nil update_at - Append / ID-update_at.to_formatd_s(cache_timestamp_format) それ以外の場合は / IDを追加します

これは通常、cache() ブロック内で呼び出されます

例:

キャッシュ キーを返します

document.cache_key

次の値を返します。

  • ( string )

    生成されたキャッシュのキー



27
28
29
30
31
32
33
# ファイル 'lib/mongoid/cacheable.rb' 行27

デフォルト cache_key
  return " #{ model_key } /new " 場合 new_record?
  return "#{model_key}/#{_id}" 場合 cache_version
  return " #{ model_key } / #{ _id } - #{ Updated_at . utc . to_formatd_s  cache_timestamp_format  } " 場合 試す(:update_at)

  "#{model_key}/#{_id}"
end

# cache_version = string | nil

このモデルのキャッシュバージョンを返します。デフォルトでは 、string として形式設定された update_atフィールド(存在する場合)を返します。または、モデルに update_atフィールドがない場合は nil を返します。異なるニーズを持つモデルは、目的の動作に合わせてこのメソッドをオーバーライドする場合があります。

TODO: これをテストするには、 メモリストア を使用して、メモリ ストアに何らかのものを配置し、レコードのタイムスタンプを更新して、メモリ ストアから値を読み込もうとします。バージョンが変更されたため、見つかりません。

次の値を返します。

  • ( string | nil )

    キャッシュバージョンの値



46
47
48
49
50
# ファイル 'lib/mongoid/cacheable.rb' 行46

デフォルト cache_version
  return ただし、 has_attribute?('updated_at') & & Updated_at.存在するかどうか

  Updated_at.UTC.to_formatd_s(cache_timestamp_format)
end