Sha256: b0c49a350c8ff73b0f0c3621e04348aa816e794527c0c6cc33097b216592b15c
Contents?: true
Size: 1.78 KB
Versions: 1
Compression:
Stored size: 1.78 KB
Contents
module Backend class Redis # Redis Backend Accessor. # # Provides necessary helper methods for its # subclasses. # Not directly useable, as it does not provide # dump/load methods. # class Basic attr_reader :namespace, :backend # An index cache takes a path, without file extension, # which will be provided by the subclasses. # def initialize namespace @namespace = namespace # TODO Turn this inside out such that people can pass in # their own Redis instance. # # TODO Make the :db a real option. # @backend = ::Redis.new :db => 15 end # Does nothing. # def load # Nothing. end # We do not use Redis to retrieve data. # def retrieve # Nothing. end # Redis does not backup. # def backup # Nothing. end # Deletes the Redis index namespace. # def delete # Not implemented here. # Note: backend.flushdb might be the way to go, # but since we cannot delete by key pattern, # we don't do anything. end # Checks. # # Is this cache suspiciously small? # def cache_small? size < 1 end # Is the cache ok? # # A small cache is still ok. # def cache_ok? size > 0 end # Extracts the size of the file in Bytes. # # Note: This is a very forgiving implementation. # But as long as Redis does not implement # DBSIZE KEYPATTERN, we are stuck with this. # def size backend.dbsize end # # def to_s "#{self.class}(#{namespace}:*)" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
picky-2.7.0 | lib/picky/backend/redis/basic.rb |