From 11976b15f9f66b92df78bf00fbecdf45a8850905 Mon Sep 17 00:00:00 2001 From: Leeingnyo Date: Sun, 5 Sep 2021 03:02:20 +0900 Subject: [PATCH] Make LRUCache togglable --- src/library/cache.cr | 10 ++++++++-- src/library/title.cr | 4 +--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/library/cache.cr b/src/library/cache.cr index f772c66..5b3d2bd 100644 --- a/src/library/cache.cr +++ b/src/library/cache.cr @@ -120,13 +120,17 @@ class LRUCache # key => entry @@cache = {} of String => CacheEntryType + def self.enabled + Config.current.sorted_entries_cache_enable + end + def self.init - enabled = Config.current.sorted_entries_cache_enable cache_size = Config.current.sorted_entries_cache_size_mbs @@limit = Int128.new cache_size * 1024 * 1024 if enabled end def self.get(key : String) + return unless enabled entry = @@cache[key]? Logger.debug "LRUCache Cache Hit! #{key}" unless entry.nil? Logger.debug "LRUCache Cache Miss #{key}" if entry.nil? @@ -134,6 +138,7 @@ class LRUCache end def self.set(cache_entry : CacheEntryType) + return unless enabled key = cache_entry.key @@cache[key] = cache_entry Logger.debug "LRUCache Cached #{key}" @@ -141,6 +146,7 @@ class LRUCache end def self.invalidate(key : String) + return unless enabled @@cache.delete key end @@ -149,7 +155,7 @@ class LRUCache Logger.debug "---- LRU Cache ----" Logger.debug "Size: #{sum} Bytes" Logger.debug "List:" - @@cache.each { |k, v| Logger.debug "#{k} | #{v.atime}" } + @@cache.each { |k, v| Logger.debug "#{k} | #{v.atime} | #{v.instance_size}" } Logger.debug "-------------------" end diff --git a/src/library/title.cr b/src/library/title.cr index cdf78fd..8333642 100644 --- a/src/library/title.cr +++ b/src/library/title.cr @@ -379,9 +379,7 @@ class Title ary.reverse! unless opt.not_nil!.ascend - if Config.current.sorted_entries_cache_enable - LRUCache.set generate_cache_entry cache_key, ary - end + LRUCache.set generate_cache_entry cache_key, ary ary end