Ruby MemoryStore中的最大修剪时间是多少?
在的初始化方法中,可以将max_prune_time作为选项传递 它的目的是什么 而且, @max_prune_time=选项[:max_prune_time]| 2 默认单位是多少?秒?max\u prune\u time是Rails在缓存存储耗尽内存时通过删除旧条目来释放内存的最长时间(以秒为单位)。有关详细信息,请参见prune方法的实现:Ruby MemoryStore中的最大修剪时间是多少?,ruby,caching,activesupport,Ruby,Caching,Activesupport,在的初始化方法中,可以将max_prune_time作为选项传递 它的目的是什么 而且, @max_prune_time=选项[:max_prune_time]| 2 默认单位是多少?秒?max\u prune\u time是Rails在缓存存储耗尽内存时通过删除旧条目来释放内存的最长时间(以秒为单位)。有关详细信息,请参见prune方法的实现: def prune(target_size, max_time = nil) # ... start_time = Time.now cl
def prune(target_size, max_time = nil)
# ...
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
# ...
end