aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/caching_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Improved testing so that it tests the real functionality and not the private ↵Philippe Huibonhoa2011-10-021-4/+5
| | | | method.
* Added fix so that file store does not raise an exception when cache dir does ↵Philippe Huibonhoa2011-09-291-0/+7
| | | | not exist yet. This can happen if a delete_matched is called before anything is saved in the cache.
* Updated existing test that fails with this fix ↵Philippe Huibonhoa2011-09-211-1/+1
| | | | | (8d63678d1406c5518d437709af0fde717c0248d7). Before the fix the test was giving a false positive, because file_store.key_file_path would return an empty filename (i.e. test/tmp_cache/4D0/F4D rather than test/tmp_cache/4D0/F4D/xxxx…). Even though the fix referenced above divides the filename into directories to prevent it from being too long, it seems that 1000 characters will always raise an error, so reducing the key size to 900).
* Fixed issue in file store where it could create a filename that was too long ↵Philippe Huibonhoa2011-09-211-0/+9
| | | | for the file system. (https://github.com/rails/rails/issues/3072)
* 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
|