Skip to content
Snippets Groups Projects
redis_client.rb 521 B
Newer Older
  • Learn to ignore specific revisions
  • # This class implements a cache with simple delegation to the Redis store, but
    # when it creates a key/value pair, it also sends an EXPIRE command with a TTL.
    # It should be fairly simple to do the same thing with Memcached.
    class RedisClient
      def initialize(ttl = 86400)
        @store = Redis.new
        @ttl = ttl
      end
    
      def [](url)
        @store.[](url)
      end
    
      def []=(url, value)
        @store.[]=(url, value)
        @store.expire(url, @ttl)
      end
    
      def keys
        @store.keys
      end
    
      def del(url)
        @store.del(url)
      end
    end