instance method
prune
Ruby on Rails 4.1.16
Since v3.0.20Signature
prune(target_size, max_time = nil)
To ensure entries fit within the specified memory prune the cache by removing the least recently accessed entries.
Parameters
-
target_sizereq -
max_timeopt = nil
Source
# File activesupport/lib/active_support/cache/memory_store.rb, line 53
def prune(target_size, max_time = nil)
return if pruning?
@pruning = true
begin
start_time = Time.now
cleanup
instrument(:prune, target_size, :from => @cache_size) do
keys = synchronize{ @key_access.keys.sort{|a,b| @key_access[a].to_f <=> @key_access[b].to_f} }
keys.each do |key|
delete_entry(key, options)
return if @cache_size <= target_size || (max_time && Time.now - start_time > max_time)
end
end
ensure
@pruning = false
end
end
Defined in activesupport/lib/active_support/cache/memory_store.rb line 53
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Cache::MemoryStore