Skip to content
Snippets Groups Projects
autoexpire_cache_redis.rb 602 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 AutoexpireCacheRedis
    
      def initialize(store, ttl = 86400)
        @store = store
    
        @store.set(url, value)
    
        @store.expire(url, @ttl)
      end
    
      def keys
        @store.keys
      end
    
      def del(url)
        @store.del(url)
      end
    
    Geocoder.configure(:cache => AutoexpireCacheRedis.new(Redis.new))