9
私はredis-railsを使用しています。キャッシュキーのために私は、配列を使用しています:rails部分一致を使用してキャッシュキーを削除する方法
Rails.cache.fetch([self.class.name, :translated_attribute, id, field, I18n.locale]) do
self.read_attribute field, locale: I18n.locale
end
は、今私は[:translated_attribute、ID self.class.name、]とキーが一致すると、すべてのキャッシュを削除する必要があります。私は部分一致のためにキーの後にワイルドカード(*)を取るdelete_matched
があることを知っています。
しかし、私は生成された正確な鍵は何か分かりません。今私はキーとして配列を使用するときにキーを作る方法を知る必要があります。私は[:foo、:bar、:dum]をキャッシュキーとして使用すると、キャッシュストアの正確なキーは何ですか?
これは、データストアとしてのmemcacheでは機能しません。他のオプションはありますか? –
生産時に 'delete_matched'を使うことに注意してください: ' '' '' '' '' '' '' '' '' '' '' '' '' '' 'パフォーマンスノート:データベースに格納されます。大規模なRedisキャッシュを使用するユーザーは、この方法を使用しないでください。 "' ' http://www.rubydoc.info/gems/redis-activesupport/4.0.0/ActiveSupport%2FCache%2FRedisStore:delete_matched – DFish