aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/caching_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2393 from bdurand/fix_cache_read_multiSantiago Pastorino2011-08-011-0/+8
|\ | | | | Fix ArgumentError in ActiveSupport::Cache::CacheStore.read_multi
| * Pass options in ActiveSupport::Cache::CacheStore#read_multi through to the ↵Brian Durand2011-08-011-0/+8
| | | | | | | | delete_entry call.
* | Change ActiveSupport::Cache behavior to always return duplicate objects ↵Brian Durand2011-07-291-7/+10
|/ | | | instead of frozen objects.
* Fix ActiveSupport::Cache::FileStore#file_path_key does not work if ↵Gonzalo Rodriguez2011-07-231-0/+7
| | | | | | initialized with Pathname Port from 3-1-stable
* Merge pull request #1608 from sishen/sishenJosé Valim2011-07-111-1/+17
|\ | | | | MemcacheStore: deserialize the entry reading from local_cache when using
| * MemcacheStore: deserialize the entry reading from local_cache when using rawDingding Ye2011-06-101-1/+17
| |
* | Properly cache value when it is "false"Sebi Burkhard2011-07-081-0/+5
|/
* Removed deprecated methods and related tests from ActiveSupportJosh Kalderimis2011-05-251-44/+0
|
* Fixed special character encoding issue with MemCacheStore in Ruby 1.9.2.Pan Thomakos2011-03-111-0/+38
|
* do not test explicit equality of predicate methods, they should be allowed ↵Aaron Patterson2011-03-071-3/+3
| | | | to return truthy or falsey objects
* Test cache.key_file_path with separators ht. Jim Wilson [#5611]Santiago Pastorino2010-11-071-0/+5
|
* Fix FileStore cache incorrectly regenerating its key from a pathname when a ↵Denis Odorcic2010-11-071-0/+4
| | | | | | | | regexp is used in expire_fragment [#5850 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* code gardening: we have assert_(nil|blank|present), more concise, with ↵Xavier Noria2010-08-171-2/+2
| | | | better default failure messages - let's use them
* adding test for respond_to cache_key and cleaning up the ENV settingsNeeraj Singh2010-07-281-14/+33
|
* test cases for rails_app_version in AS cache.rbNeeraj Singh2010-07-281-0/+14
|
* adding more test cases for expand_cache_keyNeeraj Singh2010-07-281-0/+10
|
* Removes unused varsSantiago Pastorino2010-07-241-1/+1
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Make use of assert_equal to test equallity between object assert expects and ↵Santiago Pastorino2010-05-161-2/+2
| | | | | | | | object and a message of error [#4611 state:committed] Signed-off-by: José Valim <jose.valim@gmail.com>
* ActiveSupport::Cache refactoringBrian Durand2010-04-271-188/+461
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+7
|
* Drop expires argument from call to @data in MemCacheStore so it works with ↵Vladimir Andrijevik2010-03-281-0/+6
| | | | | memcache-client and memcached gems, as advertised [#3672 state:resolved] Signed-off-by: wycats <wycats@gmail.com>
* Ruby 1.9.2: fix broken to_ary expectationJeremy Kemper2009-11-131-1/+3
|
* Clarify date/time dependenciesJeremy Kemper2009-11-021-3/+3
|
* Mute log info coming from the local_cache strategyPratik Naik2009-10-091-0/+19
|
* Fixes bug where Memcached connections get corrupted when an invalid expire ↵Yehuda Katz + Carl Lerche2009-07-011-0/+19
| | | | is passed in [#2854 state:resolved]
* Original cache objects should not be immutable [#2860 state:resolved]Yehuda Katz + Carl Lerche2009-07-011-0/+6
| | | Signed-off-by: Yehuda Katz + Carl Lerche <ykatz+clerche@engineyard.com>
* Use stubbing instead of sleep() in File store cache testsPratik Naik2009-06-211-3/+9
|
* Add expiry support File cache store [#1693 state:resolved] [Roman ↵Pratik Naik2009-06-211-0/+10
| | | | Shterenzon, Pratik Naik]
* Ensure Memcache local cache returns duplicated values [#2302 state:resolved]Joshua Peek2009-05-271-0/+9
|
* Use duck typing to also allow MemCache-like object when initializing a ↵Bryan Helmkamp2009-05-191-0/+6
| | | | | | MemCacheStore Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Allow MemCacheStore to be initialized with a MemCache object instead of ↵Bryan Helmkamp2009-05-191-4/+10
| | | | addresses and options
* Add ability to get multiple memcached keys at the same time (via ↵Joe Van Dyk2009-05-181-0/+9
| | | | | | MemCacheStore#read_multi). Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Remove rarely-used DRb cache storeJeremy Kemper2009-04-171-6/+0
|
* Explicit test dependenciesJeremy Kemper2009-03-281-0/+1
|
* Only dup local cache values if duplicable [#1653 state:resolved]Joshua Peek2009-01-281-0/+12
|
* Decouple the local cache strategy from MemCacheStore for reuse with other ↵Lourens Naude2009-01-171-17/+19
| | | | | | 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-16/+103
| | | | | | stop unneccessary requests being sent through to memcache [#1653 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Require mocha >= 0.9.0 for AS testsJeremy Kemper2008-11-221-20/+18
|
* Increment the version of our modified memcache_client code to prevent users ↵Luca Guidi2008-11-061-0/+6
| | | | | | | | with the gem installed not seeing our changes. The changes will be submitted upstream. Signed-off-by: Michael Koziarski <michael@koziarski.com> [#1239 state:committed]
* Skip tests that depend on memcached if not running.Doug Barth2008-10-171-17/+19
| | | | Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Bring MemCacheStore and CompressedMemCacheStore inline with expected counter ↵Doug Barth2008-10-171-10/+0
| | | | | | manipulation semantics. Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Fix cache counter semantics for MemoryCache, FileStoreCache, and ↵Doug Barth2008-10-171-22/+74
| | | | | | (presumably) the DRbStore. Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Ensure objects cached with MemoryStore are immutableJoshua Peek2008-08-191-0/+6
|
* Replace MemoryStore mutex with a monitor to avoid issues with nested callsJoshua Peek2008-08-181-0/+24
|
* Marshal FileStore valuesJoshua Peek2008-08-131-0/+27
|
* MemoryStore is the only "unsafe" store. Make it threadsafe by default.Joshua Peek2008-08-061-67/+0
|
* Cleanup ActiveSupport::Cache::ThreadSafety module and add test coverageJoshua Peek2008-07-171-0/+67
|
* Fall back to #to_s for cache key expansionJeremy Kemper2008-06-201-0/+6
|
* Support options passed to ActiveSupport::Cache :mem_cache_store [#14 ↵jweiss2008-04-171-0/+13
| | | | | | state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Add a handful of cache store testsJeremy Kemper2008-02-011-0/+26
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8764 5ecf4fe2-1ee6-0310-87b1-e25e094e27de