class Cachetastic::Adapters::Dalli

Public Instance Methods

valid?() click to toggle source

Return false if the connection to Memcached is either nil or not active.

# File lib/cachetastic/adapters/dalli.rb, line 40
def valid?
  return false if @_mc_connection.nil?
  return false unless @_mc_connection.stats
  return true
end

Private Instance Methods

connection() click to toggle source
# File lib/cachetastic/adapters/dalli.rb, line 47
def connection
  unless @_mc_connection && valid? && @_ns_version == get_version
    @_mc_connection = ::Dalli::Client.new(self.dalli_servers, self.dalli_options.merge(namespace: namespace))
  end
  @_mc_connection
end
get_version() click to toggle source
# File lib/cachetastic/adapters/dalli.rb, line 67
def get_version
  name = self.klass.name
  v = ns_connection.get(name)
  if v.nil?
    v = Time.now.to_i
    ns_connection.set(name, v)
  end
  v.to_i
end
increment_version() click to toggle source
# File lib/cachetastic/adapters/dalli.rb, line 61
def increment_version
  name = self.klass.name
  v = get_version
  ns_connection.set(name, v + Time.now.to_i)
end
namespace() click to toggle source
# File lib/cachetastic/adapters/dalli.rb, line 77
def namespace
  @_ns_version = get_version
  "#{self.klass.name}.#{@_ns_version}"
end
ns_connection() click to toggle source
# File lib/cachetastic/adapters/dalli.rb, line 54
def ns_connection
  if !@_ns_connection || !@_ns_connection.stats
    @_ns_connection = ::Dalli::Client.new(self.dalli_servers, self.dalli_options.merge(namespace: :namespace_versions))
  end
  @_ns_connection
end