aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/cache/mem_cache_store.rb
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #22202 from grosser/grosser/write-consistentArthur Nogueira Neves2015-12-051-4/+4
|\ | | | | even if a write fails, store the raw value
| * even if a write fails, store the raw valueMichael Grosser2015-11-291-4/+4
| |
* | Merge pull request #22361 from grosser/grosser/rescueArthur Nogueira Neves2015-11-301-26/+19
|\ \ | |/ |/| rescue memcached errors in a consistent way
| * rescue memcached errors in a consistent wayMichael Grosser2015-11-291-26/+19
| |
* | add deprecations for a smooth transition after #22215Michael Grosser2015-11-191-0/+8
|/
* send normalized keys to the cache backends so they do not need to manage ↵Michael Grosser2015-11-101-8/+8
| | | | this themselves
* use prepend instead of extending every instanceMichael Grosser2015-11-061-25/+25
| | | | | extending an instance with a module puts the methods on top of it, prepend does the same but on the class level, so less work for us and more standard way of doing things
* [skip ci] Update documentation for MemCacheStore::build_mem_cacheAnton Davydov2015-05-211-1/+8
|
* Instrument read_multi.Kasper Timm Hansen2015-02-211-7/+10
| | | | | | | | | | Adds `read_multi` instrumentation formatted as: Caches multi read: - views/david/2/4184ab71db6849621a4d8820fcd2c0ad - views/david/2/4184ab71db6849621a4d8820fcd2c0ad - views/david/3/4184ab71db6849621a4d8820fcd2c0ad - views/david/3/4184ab71db6849621a4d8820fcd2c0ad
* Add 'e' var on rescue DalliError, in order to log itArthur Neves2014-01-061-2/+2
|
* Raise if MemCacheStore doenst receive a Dalli objArthur Neves2014-01-031-0/+3
| | | | | | :mem_cache_store should receive a list of hosts or a dalli client, otherwise raise it. Also adding a changelog.
* mem_cache_store requires dalli, so only accept dalli/clientArthur Neves2014-01-031-6/+1
| | | | | | | :mem_cache_store require dalli, rescue Dalli exceptions, and follow Dalli API. Memcached gem, for instance, doesnt work anymore, as the API are different. As we already require one client, we should make sure that client works, and not accept others, and if someone wants to use another memcache client they can write their own store adapter.
* Missing require extract_optionsAkira Matsuda2013-01-311-0/+1
|
* Use already defined Encoding constants rather than creating one-trip StringsAkira Matsuda2013-01-281-1/+1
|
* Patched Marshal#load to work with constant autoloading ↵Uriel Katz2012-12-011-0/+1
| | | | (active_support/dependecies.rb) (issue #8167)
* Padding expires_in by 5 minutes on dalli key write to facilitate ↵Mike Evans2012-10-111-0/+4
| | | | :race_condition_ttl working correctly.
* Replace deprecated `memcache-client` gem with `dalli` in ↵Guillermo Iguaran2012-08-171-32/+21
| | | | | | ActiveSupport::Cache::MemCacheStore memcache-client was deprecated in favour of dalli in 2010.
* remove unnecessary require core_ext/string/encodingSergey Nartimov2012-02-141-1/+0
|
* deprecate String#encoding_aware? and remove its usageSergey Nartimov2011-12-241-1/+1
|
* Fix "in memory" where it should be "in-memory".Cheah Chu Yeow2011-11-131-1/+1
|
* Revert "Fix "in memory" where it should be "in-memory"."Vijay Dev2011-11-111-1/+1
| | | | | | This reverts commit e34e4d43301618307f94123d3710f094297f91f3. Reason: code changes are not allowed in docrails.
* Update Memcached website to its new one at http://memcached.org/.Cheah Chu Yeow2011-11-111-1/+1
|
* Fix "in memory" where it should be "in-memory".Cheah Chu Yeow2011-11-111-1/+1
|
* MemcacheStore: deserialize the entry reading from local_cache when using rawDingding Ye2011-06-101-0/+8
|
* Make MemCacheStore work with Ruby 1.9 and -KuAndrew White2011-05-311-1/+1
|
* Tidy up previous commit.José Valim2011-04-281-3/+8
|
* Fixed special character encoding issue with MemCacheStore in Ruby 1.9.2.Pan Thomakos2011-03-111-1/+4
|
* Fix misleading advice to add 'memcache' to GemfileWincent Colaiuta2010-10-101-1/+1
| | | | | | | | | | | | | | | [#5539 state:committed] Commit 57144388f removed the hard-coded dependency on the memcache-client gem, and added this warning advising people to install it if needed. The problem is, however, that if people follow the advice literally and install the 'memcache' gem, they will wind up with a completely different thing, which is not API compatible with the memcache-client gem and which Rails can't work with. So, be explicit and tell users to install the 'memcache-client' gem. Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* remove another lolinjectAaron Patterson2010-10-011-1/+1
|
* making comments meaningful by correcting, adding and pruningNeeraj Singh2010-07-261-4/+3
|
* 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>
* Unforce memcache from ASSantiago Pastorino2010-06-011-1/+6
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* ActiveSupport::Cache refactoringBrian Durand2010-04-271-75/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* 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>
* requires active_support/core_ext/array/extract_options in mem_cache_store.rb ↵Xavier Noria2010-01-011-0/+1
| | | | because it uses extract_options!
* 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
|
* 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-201-13/+18
|
* Rollback AS bundler work and improve activation of vendored dependenciesJoshua Peek2009-09-131-1/+1
|
* Merge docrailsPratik Naik2009-07-251-3/+3
|
* Add expiry support File cache store [#1693 state:resolved] [Roman ↵Pratik Naik2009-06-211-4/+0
| | | | Shterenzon, Pratik Naik]
* 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>
* Decouple the local cache strategy from MemCacheStore for reuse with other ↵Lourens Naude2009-01-171-58/+6
| | | | | | 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>
* Merge with docrailsPratik Naik2008-11-021-9/+33
|