aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/cache/file_store.rb
Commit message (Collapse)AuthorAgeFilesLines
* File should be open in read/write mode. When doing lock on a file.Arun Agrawal2011-04-181-1/+1
|
* Remove `#among?` from Active SupportPrem Sichanugrist2011-04-131-2/+2
| | | | | | After a long list of discussion about the performance problem from using varargs and the reason that we can't find a great pair for it, it would be best to remove support for it for now. It will come back if we can find a good pair for it. For now, Bon Voyage, `#among?`.
* Change Object#either? to Object#among? -- thanks to @jamesarosen for the ↵David Heinemeier Hansson2011-04-121-2/+2
| | | | suggestion!
* Using Object#in? and Object#either? in various placesPrem Sichanugrist2011-04-111-2/+3
| | | | There're a lot of places in Rails source code which make a lot of sense to switching to Object#in? or Object#either? instead of using [].include?.
* Fix FileStore cache incorrectly regenerating its key from a pathname when a ↵Denis Odorcic2010-11-071-4/+3
| | | | | | | | regexp is used in expire_fragment [#5850 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* require conversions to use String#ordSantiago Pastorino2010-06-121-0/+1
|
* ActiveSupport::Cache refactoringBrian Durand2010-04-271-41/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Instrumenting cache stores.José Valim2009-09-201-21/+25
|
* Add expiry support File cache store [#1693 state:resolved] [Roman ↵Pratik Naik2009-06-211-1/+13
| | | | Shterenzon, Pratik Naik]
* Fix requireJeremy Kemper2009-03-291-1/+1
|
* Explicit File#atomic_write dependencyJeremy Kemper2009-03-291-0/+2
|
* Merge with docrailsPratik Naik2008-11-021-0/+1
|
* 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>
* Fix indentation mismatchJeremy Kemper2008-09-081-1/+1
|
* Consistently use the framework's configured logger and avoid reverting to ↵Joshua Peek2008-08-181-2/+2
| | | | RAILS_DEFAULT_LOGGER unless necessary.
* Marshal FileStore valuesJoshua Peek2008-08-131-2/+2
|
* Ensure file atomic write uses the cache directory as its tmp folderJoshua Peek2008-08-061-1/+1
|
* Make FileStore use atomic writesJoshua Peek2008-08-061-1/+1
|
* Add fragment_exist? and exist? methods to cache stores. [#203 state:resolved]José Valim2008-05-191-1/+6
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Add default options to file_store to make it align with the other cache ↵Michael Koziarski2008-04-261-2/+2
| | | | | | stores. [monki] [#40 state:resolved]
* Moved the caching stores from ActionController::Caching::Fragments::* to ↵David Heinemeier Hansson2008-01-031-0/+65
ActiveSupport::Cache::*. If you're explicitly referring to a store, like ActionController::Caching::Fragments::MemoryStore, you need to update that reference with ActiveSupport::Cache::MemoryStore [DHH] Deprecated ActionController::Base.fragment_cache_store for ActionController::Base.cache_store [DHH] All fragment cache keys are now by default prefixed with the 'views/' namespace [DHH] Added ActiveRecord::Base.cache_key to make it easier to cache Active Records in combination with the new ActiveSupport::Cache::* libraries [DHH] Added ActiveSupport::Gzip.decompress/compress(source) as an easy wrapper for Zlib [Tobias Luetke] Included MemCache-Client to make the improved ActiveSupport::Cache::MemCacheStore work out of the box [Bob Cottrell, Eric Hodel] Added config.cache_store to environment options to control the default cache store (default is FileStore if tmp/cache is present, otherwise MemoryStore is used) [DHH] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8546 5ecf4fe2-1ee6-0310-87b1-e25e094e27de