aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/cache/strategy
Commit message (Collapse)AuthorAgeFilesLines
* Extract local cache middlewareArthur Neves2014-02-232-32/+41
| | | | | Extract LocalCache Middleware, so it can requires rack dependencies, without adding rack dependencies to `AS::Cache::Strategy::LocalCache`.
* clear cache on body close so that cache remains during renderingAaron Patterson2014-01-081-2/+8
| | | | | | | | fixes #13547 The body may use the local cache during rendering. `call`ing the app doesn't mean that rendering is finished, so we need to wait until `close` is called on the body.
* Stop using method missing for singleton delegation.Aaron Patterson2013-11-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This saved about 46 array allocations per request on an extremely simple application. The delegation happened in the notification subsystem which is a hotspot, so this should result in even more savings with larger apps. Squashed commit of the following: commit 41eef0d1479526f7de25fd4391d98e61c126d9f5 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Wed Nov 6 16:32:31 2013 -0800 speed up notifications commit 586b4a18656f66fb2c518fb8e8fee66a016e8ae6 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Wed Nov 6 16:31:05 2013 -0800 speed up runtime registry methods commit b67d074cb4314df9a88438f785868cef77e583d7 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Wed Nov 6 16:28:12 2013 -0800 change method name and make it public
* The increment and decrement commands in the local cache are exactly thewangjohn2013-04-171-18/+14
| | | | same, so their logic is being refactored.
* Refactored the storage of a temporary version of the local cache intowangjohn2013-04-171-8/+6
| | | | its own method.
* Add nodoc to LocalCacheRegistryRafael Mendonça França2013-04-171-1/+1
| | | [ci skip]
* Adding a local thread registry to store local caches.wangjohn2013-04-171-15/+32
|
* Fix "in memory" where it should be "in-memory".Cheah Chu Yeow2011-11-131-2/+2
|
* Revert "Fix "in memory" where it should be "in-memory"."Vijay Dev2011-11-111-2/+2
| | | | | | This reverts commit e34e4d43301618307f94123d3710f094297f91f3. Reason: code changes are not allowed in docrails.
* Fix "in memory" where it should be "in-memory".Cheah Chu Yeow2011-11-111-2/+2
|
* remove to_s implementation so that inspect is helpfulAaron Patterson2011-03-021-1/+0
|
* * LocalCache strategy is now a real middleware class, not an anonymous classAaron Patterson2011-03-021-23/+29
| | | | posing for pictures.
* Deletes trailing whitespaces (over text files only find * -type f -exec sed ↵Santiago Pastorino2010-08-141-1/+1
| | | | 's/[ \t]*$//' -i {} \;)
* making comments meaningful by correcting, adding and pruningNeeraj Singh2010-07-261-5/+5
|
* The rake task :environment now loads config/environment.rb instead of ↵José Valim2010-04-291-5/+7
| | | | initializing the application on its own. This fixes [#4492 state:resolved] and also avoids the application being initialized twice in some rake tasks.
* object_id may be negative, producing an invalid symbol. h/t Markus SchirpJeremy Kemper2010-04-281-1/+1
|
* ActiveSupport::Cache refactoringBrian Durand2010-04-271-52/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All Caches * Add default options to initializer that will be sent to all read, write, fetch, exist?, increment, and decrement * Add support for the :expires_in option to fetch and write for all caches. Cache entries are stored with the create timestamp and a ttl so that expiration can be handled independently of the implementation. * Add support for a :namespace option. This can be used to set a global prefix for cache entries. * Deprecate expand_cache_key on ActiveSupport::Cache and move it to ActionController::Caching and ActionDispatch::Http::Cache since the logic in the method used some Rails specific environment variables and was only used by ActionPack classes. Not very DRY but there didn't seem to be a good shared spot and ActiveSupport really shouldn't be Rails specific. * Add support for :race_condition_ttl to fetch. This setting can prevent race conditions on fetch calls where several processes try to regenerate a recently expired entry at once. * Add support for :compress option to fetch and write which will compress any data over a configurable threshold. * Nil values can now be stored in the cache and are distinct from cache misses for fetch. * Easier API to create new implementations. Just need to implement the methods read_entry, write_entry, and delete_entry instead of overwriting existing methods. * Since all cache implementations support storing objects, update the docs to state that ActiveCache::Cache::Store implementations should store objects. Keys, however, must be strings since some implementations require that. * Increase test coverage. * Document methods which are provided as convenience but which may not be universally available. MemoryStore * MemoryStore can now safely be used as the cache for single server sites. * Make thread safe so that the default cache implementation used by Rails is thread safe. The overhead is minimal and it is still the fastest store available. * Provide :size initialization option indicating the maximum size of the cache in memory (defaults to 32Mb). * Add prune logic that removes the least recently used cache entries to keep the cache size from exceeding the max. * Deprecated SynchronizedMemoryStore since it isn't needed anymore. FileStore * Escape key values so they will work as file names on all file systems, be consistent, and case sensitive * Use a hash algorithm to segment the cache into sub directories so that a large cache doesn't exceed file system limits. * FileStore can be slow so implement the LocalCache strategy to cache reads for the duration of a request. * Add cleanup method to keep the disk from filling up with expired entries. * Fix increment and decrement to use file system locks so they are consistent between processes. MemCacheStore * Support all keys. Previously keys with spaces in them would fail * Deprecate CompressedMemCacheStore since it isn't needed anymore (use :compress => true) [#4452 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Fixed method sign errorSantiago Pastorino2010-04-091-1/+1
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* fix stack trace lines on class_evalSantiago Pastorino2010-04-091-2/+2
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* fixes a couple of wrong requiresXavier Noria2010-01-011-1/+1
|
* requires active_support/inflector/methods ↵Xavier Noria2010-01-011-0/+1
| | | | active_support/core_ext/string/inflections in local_cache.rb because it uses underscore
* Mute log info coming from the local_cache strategyPratik Naik2009-10-091-5/+5
|
* Ensure Memcache local cache returns duplicated values [#2302 state:resolved]Joshua Peek2009-05-271-1/+1
|
* Fix dependencies revealed by testing in isolationJeremy Kemper2009-04-221-0/+2
|
* Nicer name for anonymous local cache middleware classJoshua Peek2009-04-021-0/+5
|
* Only dup local cache values if duplicable [#1653 state:resolved]Joshua Peek2009-01-281-1/+1
|
* Decouple the local cache strategy from MemCacheStore for reuse with other ↵Lourens Naude2009-01-171-0/+104
remote stores [#1653 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>