ActiveModelCachers provides cachers to models and allows the users to specify what needs to be cached. The data will be cached at Rails.cache and also at application level via RequestStore, to cache values between requests. The cachers will maintain cached objects and expire them when they are changed (e.g. created, updated, destroyed, or deleted). active_model_cachers allows you to specify what to cache and when to expire those caches, so that you can cache raw sql query results, time-consuming methods, responses of requests, and so on. It also supports AR associations/attributes (has_many, has_one, belongs_to) and secondary indexes.