| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This reverts commit abe915f23777efe10f17d611bf5718ca855a0704.
This broke all existing keys and it's wrong anyway. The array is just there as a convenience option for building the string. It's intentional that [ "stuff"] and "stuff" generates the same key.
|
| |
|
|
|
|
|
| |
This reverts commit df3701872d6c97ff49943aea30761b47e60fa9fe, reversing
changes made to a0fd9fb01730af12d66a27b5665cc010bd3b90b4.
|
| |
|
|\
| |
| | |
Fix expanding cache key for single element arrays
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In short:
expand_cache_key(element) should not equal expand_cache_key([element])
This way a fragment cache key for an index page with only a single
element in the collection is different than a fragment cache for a
typical show page for that element.
|
|/
|
|
| |
actually caching for development and test environments.
|
| |
|
|
|
|
|
|
|
| |
(part 2)
`nil` and `false` both expand to `""` (empty string), while `true` expands to
`"true"`; `false` should expand to `"false"`
|
|
|
|
|
| |
`cache_key` method is never called when the argument is a 1-element array
with something that responds to `cache_key`
|
|
|
|
|
|
|
|
|
| |
return value, not expecting specifically true or false"
Reason: there were some genuine tests for false when
reading values, going to revise those ones.
This reverts commit a539a5e3f3be68f027d3dfe43f88dc9f0642c743.
|
|
|
|
| |
value, not expecting specifically true or false
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
avoided to call `Marshal.dump` twice
|
| | |
|
|\ \
| |/
|/| |
fix a document for race_condition_ttl. ActiveSupport::Cache::MemoryCache isn't exist.
|
| |
| |
| |
| | |
isn't exist
|
|/
|
|
| |
(the remaining code from 9cafc28874)
|
|\
| |
| | |
Fix ArgumentError in ActiveSupport::Cache::CacheStore.read_multi
|
| |
| |
| |
| | |
delete_entry call.
|
|/
|
|
| |
instead of frozen objects.
|
| |
|
| |
|
| |
|
|
|
|
| |
to return truthy or falsey objects
|
| |
|
| |
|
|\ |
|
| | |
|
|/ |
|
|
|
|
|
|
| |
[#5601 state:committed]
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
|
|
|
|
|
|
|
|
| |
autoloading."
Booting a new Rails application does not work after this commit [#5359 state:open]
This reverts commit 38a421b34d0b414564e919f67d339fac067a56e6.
|
|
|
|
|
|
| |
autoloading.
Signed-off-by: José Valim <jose.valim@gmail.com>
|
|
|
|
|
|
| |
[#5486 state:committed]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
|
|
|
|
| |
's/[ \t]*$//' -i {} \;)
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
option in AS cache
|
| | |
|
|/ |
|
|
|
|
| |
Signed-off-by: José Valim <jose.valim@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
More work still needs to be done on some of these names
(render_template.action_view and render_template!.action_view particularly)
but this allows (for example) /^sql/ to subscribe to all
the various ORMs without further modification
Signed-off-by: José Valim <jose.valim@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|