class Rack::Cache::EntityStore::Dalli
Uses the Dalli ruby library. This is the default unless the memcached library has already been required.
Public Class Methods
new(server="localhost:11211", options={})
click to toggle source
# File lib/rack/cache/entitystore.rb, line 210 def initialize(server="localhost:11211", options={}) @cache = if server.respond_to?(:stats) server else require 'dalli' ::Dalli::Client.new(server, options) end end
Public Instance Methods
exist?(key)
click to toggle source
# File lib/rack/cache/entitystore.rb, line 220 def exist?(key) !cache.get(key).nil? end
purge(key)
click to toggle source
# File lib/rack/cache/entitystore.rb, line 236 def purge(key) cache.delete(key) nil end
read(key)
click to toggle source
# File lib/rack/cache/entitystore.rb, line 224 def read(key) data = cache.get(key) data.force_encoding('BINARY') if data.respond_to?(:force_encoding) data end
write(body, ttl=nil)
click to toggle source
# File lib/rack/cache/entitystore.rb, line 230 def write(body, ttl=nil) buf = StringIO.new key, size = slurp(body){|part| buf.write(part) } [key, size] if cache.set(key, buf.string, ttl) end