Sha256: 4ee634392d2f1683be8c1114005b8d98515b7cb0e1e12c3ab358f832cd829ff5
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
module Cachetastic module Adapters class Redis < Cachetastic::Adapters::Base def initialize(klass) define_accessor(:redis_host) define_accessor(:redis_options) define_accessor(:delete_delay) super self.redis_host ||= "redis://localhost:6379/" parsed_url = URI.parse(self.redis_host) self.redis_options = ::Redis::Client::DEFAULTS.merge({ db: "cachetastic", url: self.redis_host, scheme: parsed_url.scheme, host: parsed_url.host, port: parsed_url.port, password: parsed_url.password }) self.marshal_method = :yaml if self.marshal_method == :none connection end def get(key) # :nodoc: connection.get(transform_key(key)) end # get def set(key, value, expiry_time = configatron.cachetastic.defaults.default_expiry) # :nodoc: connection.setex(transform_key(key), expiry_time, marshal(value)) return value end # set def delete(key) # :nodoc: connection.del(transform_key(key)) end # delete def expire_all # :nodoc: connection.flushdb return nil end # expire_all def transform_key(key) # :nodoc: key.to_s.hexdigest end def valid? !connection.nil? end private def connection if @connection.nil? @connection = ::Redis.new(self.redis_options) end return @connection end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cachetastic-3.5.3 | lib/cachetastic/adapters/redis.rb |