diff --git a/src/library/cache.cr b/src/library/cache.cr index 6136dd3..b399632 100644 --- a/src/library/cache.cr +++ b/src/library/cache.cr @@ -238,7 +238,7 @@ def generate_cache_entry(key : String, value : Array(Entry) | Int32 | String) end # LRU Cache -class SortedEntriesCache +class LRUCache @@limit : Int128 = Int128.new 0 # key => entry @@cache = {} of String => CacheEntryType diff --git a/src/library/entry.cr b/src/library/entry.cr index c7599ff..176efe1 100644 --- a/src/library/entry.cr +++ b/src/library/entry.cr @@ -190,7 +190,7 @@ class Entry [false, true].each do |ascend| sorted_entries_cache_key = SortedEntriesCacheEntry.gen_key @book.id, username, @book.entries, SortOptions.new(SortMethod::Progress, ascend) - SortedEntriesCache.invalidate sorted_entries_cache_key + LRUCache.invalidate sorted_entries_cache_key end TitleInfo.new @book.dir do |info| diff --git a/src/library/title.cr b/src/library/title.cr index c377738..a5a6850 100644 --- a/src/library/title.cr +++ b/src/library/title.cr @@ -345,7 +345,7 @@ class Title # When `opt` is not nil, it saves the options to info.json def sorted_entries(username, opt : SortOptions? = nil) cache_key = SortedEntriesCacheEntry.gen_key @id, username, @entries, opt - cached_entries = SortedEntriesCache.get cache_key + cached_entries = LRUCache.get cache_key return cached_entries if cached_entries.is_a? Array(Entry) if opt.nil? @@ -382,7 +382,7 @@ class Title ary.reverse! unless opt.not_nil!.ascend if Config.current.sorted_entries_cache_enable - SortedEntriesCache.set generate_cache_entry cache_key, ary + LRUCache.set generate_cache_entry cache_key, ary end ary end @@ -453,7 +453,7 @@ class Title sorted_entries_cache_key = SortedEntriesCacheEntry.gen_key @id, username, @entries, SortOptions.new(SortMethod::Progress, ascend) - SortedEntriesCache.invalidate sorted_entries_cache_key + LRUCache.invalidate sorted_entries_cache_key end selected_entries = ids diff --git a/src/mango.cr b/src/mango.cr index 9b58d50..f27165e 100644 --- a/src/mango.cr +++ b/src/mango.cr @@ -55,7 +55,7 @@ class CLI < Clim Config.load(opts.config).set_current # Initialize main components - SortedEntriesCache.init + LRUCache.init Storage.default Queue.default Library.default