Lux::Cache - Mimics Rails.cache interface

Alias - Lux.cache

Define

use RAM cache in development, as default

Lux::Cache.server = :memcached

You can use memcached or redis in production

Lux::Cache.server  = Dalli::Client.new('localhost:11211', { :namespace=>Digest::MD5.hexdigest(__FILE__)[0,4], :compress => true,  :expires_in => 1.hour })

Lux::Cache instance methods

Mimics Rails cache methods

Lux.cache.read(key)
  Lux.cache.get(key)

  Lux.cache.read_multi(*args)
  Lux.cache.get_multi(*args)

  Lux.cache.write(key, data, ttl=nil)
  Lux.cache.set(key, data, ttl=nil)

  Lux.cache.delete(key, data=nil)

  Lux.cache.fetch(key, ttl=nil, &block)

  Lux.cache.is_available?

Has method to generate cache key

# generates unique cache key based on set of data
  # Lux.cache.generate_key([User, Product.find(3), 'data', @product.updated_at])

  Lux.cache.generate_key(*data)