class Sequel::Plugins::QueryCache::Driver
Attributes
serializer[R]
store[R]
Public Class Methods
from_store(store, opts={})
click to toggle source
# File lib/sequel-query-cache/driver.rb, line 5 def self.from_store(store, opts={}) case store.class.name when 'Memcache' require 'sequel-query-cache/driver/memcache' MemcacheDriver.new(store, opts) when 'Dalli::Client' require 'sequel-query-cache/driver/dalli' DalliDriver.new(store, opts) else Driver.new(store, opts) end end
new(store, opts={})
click to toggle source
# File lib/sequel-query-cache/driver.rb, line 20 def initialize(store, opts={}) @store = store @serializer = opts[:serializer] || _default_serializer end
Public Instance Methods
del(key)
click to toggle source
# File lib/sequel-query-cache/driver.rb, line 36 def del(key) store.del(key) nil end
expire(key, time)
click to toggle source
# File lib/sequel-query-cache/driver.rb, line 41 def expire(key, time) store.expire(key, time) end
get(key)
click to toggle source
# File lib/sequel-query-cache/driver.rb, line 25 def get(key) val = store.get(key) val ? serializer.deserialize(val) : nil end
set(key, val, opts={})
click to toggle source
# File lib/sequel-query-cache/driver.rb, line 30 def set(key, val, opts={}) store.set(key, serializer.serialize(val)) expire(key, opts[:ttl]) unless opts[:ttl].nil? val end
Private Instance Methods
_default_serializer()
click to toggle source
# File lib/sequel-query-cache/driver.rb, line 47 def _default_serializer if defined? MessagePack require 'sequel-query-cache/serializer/message_pack' Serializer::MessagePack else require 'sequel-query-cache/serializer/json' Serializer::JSON end end