gems/gems/activesupport-3.2.22.2/lib/active_support/cache/memory_store.rb
# To ensure entries fit within the specified memory prune the cache by removing the least
# recently accessed entries.
To ensure entries fit within the specified memory prune the cache by removing the least
recently accessed entries.
To ensure entries fit within the specified memory prune the cache by removing the least recently accessed entries .
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
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
To ensure entries fit within the specified memory prune the cache by removing the least
recently accessed entries.
To ensure entries fit within the specified memory prune the cache by removing the least recently accessed entries .
target_size
<not_specific>
max_time
<not_specific>