Class | Ramaze::Cache::Redis
In: | lib/ramaze/cache/redis.rb
Parent: | Object

The Redis cache is a cache driver for Redis (redis.io/). Redis is a key/value store similar to Memcached but with the ability to flush data to a file among various other features.

The usage of this cache is very similar to the Memcache driver. You load it by simply specifying the class:

        Ramaze::Cache.options.session = Ramaze::Cache::Redis

If you want to specify custom options you can do so by calling {.using} on the class:

        Ramaze::Cache.options.session = Ramaze::Cache::Redis.using(...)

@example Using a custom Redis host

     Ramaze::Cache.options.names.push(:redis)
     Ramaze::Cache.options.redis = Ramaze::Cache::Redis.using(
       :host => '123.124.125.126',
       :port => 6478
     )

@author Michael Fellinger @since 09-10-2011

### Methods

cache_clear cache_delete cache_fetch cache_setup cache_store new using

### Included Modules

Cache::API Innate::Traited

### Attributes

options | [RW] | Hash containing all the default options merged with the user specified ones.
options | [RW] |

### Public Class methods

new(options = {})

Creates a new instance of the cache and merges the options if they haven‘t already been set.

@author Michael Fellinger @param [Hash] options A hash with custom options. See

     Ramaze::Cache::Redis.using() and the trait :default for more
     information.

using(options = {})

Creates a new instance of the cache class and merges the default options with the custom ones.

Using this method you can specify custom options for various caches. For example, the Redis cache for your sessions could be located at server 1 while a custom cache is located on server 2.

@author Yorick Peterse @since 09-10-2011 @param [Hash] options A hash containing custom options. @option options [Fixnum] :expires_in The default time after which a

     key should expire.

@option options [String] :host The hostname of the machine on which

     Redis is running.

@option options [Fixnum] :port The port number to connect to.

### Public Instance methods

cache_clear()

Clears the entire cache.

@author Michael Fellinger @since 09-10-2011

cache_delete(*keys)

Removes a number of keys from the cache.

@author Michael Fellinger @param [Array] *keys An array of key names to remove.

cache_fetch(key, default = nil)

Retrieves the value of the given key. If no value could be retrieved the default value (set to nil by default) will be returned instead.

@author Michael Fellinger @param [String] key The name of the key to retrieve. @param [Mixed] default The default value. @return [Mixed]

cache_setup(hostname, username, appname, cachename)

Prepares the cache by setting up the namespace and loading Redis.

@author Michael Fellinger @since 09-10-2011 @param [String] hostname The host of the machine that‘s running the

     Ramaze application.

@param [String] username The name of the user that‘s running the

     application.

@param [String] appname The name of the application (:pristine by

     default).

@param [String] cachename The namespace to use for this cache instance.

cache_store(key, value, ttl = nil, options = {})

Stores a new value under the given key.

@author Michael Fellinger @param [String] key The name of the key to store. @param [Mixed] value The value of the key. @param [Fixnum] ttl The Time To Live of the key. @param [Hash] options A hash containing key specific options. @option options :expires_in The time after which the key should expire.

[Validate]