aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/cache
Commit message (Collapse)AuthorAgeFilesLines
* String#[] doesn't return the byte representation on 1.9.2, we should use ↵Santiago Pastorino2010-06-271-1/+1
| | | | | | getbyte that was already added as a Ruby < 1.9 core_ext Signed-off-by: José Valim <jose.valim@gmail.com>
* preventing memcached initialization errors with default servers list [#4921 ↵David Calavera2010-06-221-1/+1
| | | | | | | | state:resolved] As of this writing the JRuby client does not support a default port. Signed-off-by: Xavier Noria <fxn@hashref.com>
* Fix a bunch of minor spelling mistakesEvgeniy Dolzhenko2010-06-151-1/+1
|\
| * Fix a bunch of minor spelling mistakesEvgeniy Dolzhenko2010-06-111-1/+1
| |
* | require conversions to use String#ordSantiago Pastorino2010-06-121-0/+1
|/
* Unforce memcache from ASSantiago Pastorino2010-06-011-1/+6
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* 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-276-252/+483
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* MemoryStore#read_multi(*keys) for dev-mode compatibility with memcache storeJeremy Kemper2010-04-191-1/+7
|
* 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>
* Make sure MemCacheStore logger existsJoshua Peek2010-04-071-3/+3
|
* Drop expires argument from call to @data in MemCacheStore so it works with ↵Vladimir Andrijevik2010-03-281-1/+1
| | | | | memcache-client and memcached gems, as advertised [#3672 state:resolved] Signed-off-by: wycats <wycats@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
* requires active_support/core_ext/array/extract_options in mem_cache_store.rb ↵Xavier Noria2010-01-011-0/+1
| | | | because it uses extract_options!
* requires active_support/gzip in CompressedMemCacheStore because it uses ↵Xavier Noria2010-01-011-0/+2
| | | | ActiveSupport::Gzip
* Rdoc for changes introduced in e2ed1a1ca, 36058f450.David Vrensk2009-11-121-0/+5
| | | | | | [#3451 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Update Orchestra instrumentations and move part of logging to Orchestra.José Valim2009-10-151-4/+7
|
* Mute log info coming from the local_cache strategyPratik Naik2009-10-092-5/+7
|
* Restore split between require-time and runtime load path mungery. Simplifies ↵Jeremy Kemper2009-09-241-1/+1
| | | | vendor requires.
* Instrumenting cache stores.José Valim2009-09-203-44/+58
|
* Rollback AS bundler work and improve activation of vendored dependenciesJoshua Peek2009-09-131-1/+1
|
* Merge docrailsPratik Naik2009-07-251-3/+3
|
* Original cache objects should not be immutable [#2860 state:resolved]Yehuda Katz + Carl Lerche2009-07-011-1/+1
| | | Signed-off-by: Yehuda Katz + Carl Lerche <ykatz+clerche@engineyard.com>
* Add expiry support File cache store [#1693 state:resolved] [Roman ↵Pratik Naik2009-06-212-5/+13
| | | | Shterenzon, Pratik Naik]
* Ensure Memcache local cache returns duplicated values [#2302 state:resolved]Joshua Peek2009-05-271-1/+1
|
* Use duck typing to also allow MemCache-like object when initializing a ↵Bryan Helmkamp2009-05-191-1/+1
| | | | | | MemCacheStore Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Allow MemCacheStore to be initialized with a MemCache object instead of ↵Bryan Helmkamp2009-05-191-6/+11
| | | | addresses and options
* Add ability to get multiple memcached keys at the same time (via ↵Joe Van Dyk2009-05-181-0/+5
| | | | | | MemCacheStore#read_multi). Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Fix dependencies revealed by testing in isolationJeremy Kemper2009-04-221-0/+2
|
* Merge branch 'master' into cherryJeremy Kemper2009-04-201-0/+5
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: activesupport/CHANGELOG activesupport/lib/active_support/core_ext/class/delegating_attributes.rb activesupport/lib/active_support/core_ext/hash/conversions.rb activesupport/lib/active_support/core_ext/module/attribute_accessors.rb activesupport/lib/active_support/core_ext/string/multibyte.rb activesupport/lib/active_support/core_ext/time/calculations.rb activesupport/lib/active_support/deprecation.rb
| * Nicer name for anonymous local cache middleware classJoshua Peek2009-04-021-0/+5
| |
* | Remove rarely-used DRb cache storeJeremy Kemper2009-04-171-14/+0
| |
* | Fix requireJeremy Kemper2009-03-291-1/+1
| |
* | Explicit File#atomic_write dependencyJeremy Kemper2009-03-291-0/+2
|/
* 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-172-58/+110
| | | | | | remote stores [#1653 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Added in a local per request cache to MemCacheStore. It acts as a buffer to ↵Nahum Wild2009-01-151-4/+61
| | | | | | stop unneccessary requests being sent through to memcache [#1653 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Lazy-require DRb for ActiveSupport::Cache::DRbStoreJeremy Kemper2008-11-231-3/+2
|
* Merge with docrailsPratik Naik2008-11-024-9/+49
|
* Bring MemCacheStore and CompressedMemCacheStore inline with expected counter ↵Doug Barth2008-10-172-2/+10
| | | | | | manipulation semantics. Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Fix cache counter semantics for MemoryCache, FileStoreCache, and ↵Doug Barth2008-10-171-0/+1
| | | | | | (presumably) the DRbStore. Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Removed monitor from MemoryStore and created a seperate threadsafe store ↵Joshua Peek2008-09-102-39/+57
| | | | called SynchronizedMemoryStore
* Fix indentation mismatchJeremy Kemper2008-09-081-1/+1
|
* Ensure objects cached with MemoryStore are immutableJoshua Peek2008-08-191-1/+1
|
* Consistently use the framework's configured logger and avoid reverting to ↵Joshua Peek2008-08-181-2/+2
| | | | RAILS_DEFAULT_LOGGER unless necessary.
* Replace MemoryStore mutex with a monitor to avoid issues with nested callsJoshua Peek2008-08-181-12/+24
|
* Marshal FileStore valuesJoshua Peek2008-08-131-2/+2
|