cache_store=
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0 (0)
- 2.2.1 (0)
- 2.3.8 (0)
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- What's this?
Built-in cache stores
Built-in cache stores are:
-
:file_store (ActiveSupport::Cache::FileStore)
-
:memory_store (ActiveSupport::Cache::MemoryStore)
-
:drb_store (ActiveSupport::Cache::DRbStore)
-
:mem_cache_store (ActiveSupport::Cache::MemCacheStore)
-
:compressed_mem_cache_store (ActiveSupport::Cache::CompressedMemCacheStore)
To use the memcached gem
If you use the mem_cache_store it will use “memcache-client” to talk to the actual cache. memcache-client is a pure Ruby library that is bundled with rails. There is a Ruby/C library called “memcached” that uses native bindings to talk to memcache, and it is reportedly (http://blog.evanweaver.com/files/doc/fauna/memcached/files/README.html) up to a 100 times faster than memcache-client. To use that instead,
# in shell $ sudo gem install memcached --no-rdoc --no-ri # in config/production.rb require 'memcached' config.action_controller.cache_store = :mem_cache_store, Memcached::Rails.new("localhost:11211")
This feature (to pass a configured MemCache-like object to cache_store=) is available since rails 2.3.3 and will hopefully be documented in 2.3.5.
Adding initialization parameters for the relevant cache store
To configure caching of f.ex. a :mem_cache_store you can pass additional parameters just after the cache type symbol:
ActionController::Base.cache_store = \ :mem_cache_store, 'a.example.org:11211', 'b.example.org:11211'
all parameters after the cache type symbol will be passed on to the corresponding cache store constructor.