Prefix cache keys with the matcher type. #208.
We already know about one regex limitation, which is that they cannot segment words in e.g. Japanese, Chinese, or Thai. It may also end up that regex matching is too slow compared to other methods. However, the regex is an implementation detail. We still want the ability to switch between "occurs anywhere" and "match whole word", and caching the matcher result is likely to still be important (since the matcher itself won't change nearly as often as status ingress rate). Therefore, we ought to be able to change the cache keys to reflect a change of data structure. (Old cache keys expire within minutes, so they shouldn't be too big of an issue. Old cache keys could also be explicitly removed by an instance administrator.)
This commit is contained in:
parent
cb4ef24ac9
commit
8fc54890e5
|
@ -59,7 +59,7 @@ class Glitch::KeywordMute < ApplicationRecord
|
||||||
|
|
||||||
class TextMatcher < RegexpMatcher
|
class TextMatcher < RegexpMatcher
|
||||||
def self.cache_key(account_id)
|
def self.cache_key(account_id)
|
||||||
format('keyword_mutes:regex:%s', account_id)
|
format('keyword_mutes:regex:text:%s', account_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def =~(str)
|
def =~(str)
|
||||||
|
@ -79,7 +79,7 @@ class Glitch::KeywordMute < ApplicationRecord
|
||||||
|
|
||||||
class TagMatcher < RegexpMatcher
|
class TagMatcher < RegexpMatcher
|
||||||
def self.cache_key(account_id)
|
def self.cache_key(account_id)
|
||||||
format('keyword_mutes:tag:%s', account_id)
|
format('keyword_mutes:regex:tag:%s', account_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def =~(tags)
|
def =~(tags)
|
||||||
|
|
Loading…
Reference in New Issue