Entry that is put into caches. It supports expiration time on entries and can compress values to save space in the cache.
- C
- E
- N
- R
- S
- V
DEFAULT_COMPRESS_LIMIT | = | 16.kilobytes |
[R] | created_at | |
[R] | expires_in |
Create an entry with internal attributes set. This method is intended to be used by implementations that store cache entries in a native format instead of as serialized Ruby objects.
Source: show
# File activesupport/lib/active_support/cache.rb, line 541 def create (raw_value, created_at, options = {}) entry = new(nil) entry.instance_variable_set(:@value, raw_value) entry.instance_variable_set(:@created_at, created_at.to_f) entry.instance_variable_set(:@compressed, !!options[:compressed]) entry.instance_variable_set(:@expires_in, options[:expires_in]) entry end
Create a new cache entry for the specified value. Options supported are
:compress
, :compress_threshold
, and
:expires_in
.
Source: show
# File activesupport/lib/active_support/cache.rb, line 553 def initialize(value, options = {}) @compressed = false @expires_in = options[:expires_in] @expires_in = @expires_in.to_f if @expires_in @created_at = Time.now.to_f if value if should_compress?(value, options) @value = Zlib::Deflate.deflate(Marshal.dump(value)) @compressed = true else @value = value end else @value = nil end end
Source: show
# File activesupport/lib/active_support/cache.rb, line 586 def compressed? @compressed end
Check if the entry is expired. The expires_in
parameter can
override the value set when the entry was created.
Source: show
# File activesupport/lib/active_support/cache.rb, line 592 def expired? @expires_in && @created_at + @expires_in <= Time.now.to_f end
Seconds since the epoch when the entry will expire.
Source: show
# File activesupport/lib/active_support/cache.rb, line 606 def expires_at @expires_in ? @created_at + @expires_in : nil end
Set a new time when the entry will expire.
Source: show
# File activesupport/lib/active_support/cache.rb, line 597 def expires_at=(time) if time @expires_in = time.to_f - @created_at else @expires_in = nil end end
Get the raw value. This value may be serialized and compressed.
Source: show
# File activesupport/lib/active_support/cache.rb, line 571 def raw_value @value end
Returns the size of the cached value. This could be less than value.size if the data is compressed.
Source: show
# File activesupport/lib/active_support/cache.rb, line 612 def size if @value.nil? 0 elsif @value.respond_to?(:bytesize) @value.bytesize else Marshal.dump(@value).bytesize end end
Get the value stored in the cache.
Source: show
# File activesupport/lib/active_support/cache.rb, line 576 def value if @value val = compressed? ? Marshal.load(Zlib::Inflate.inflate(@value)) : @value unless val.frozen? val.freeze rescue nil end val end end