Sha256: 13de17a12cbe2c980c39bba2f38ba5298081e43cd8cf65f3ab6170b8d5386e88
Contents?: true
Size: 861 Bytes
Versions: 7
Compression:
Stored size: 861 Bytes
Contents
require 'memcache' module Feedzirra module Backend # Can be used to set up Memcache, or clients able to speak the Memcache protocol such as # Tokyo Tyrant, as a Feedzirra::Backend. class Memcache DEFAULTS = { :server => 'localhost', :port => '11211' } def initialize(options = { }) @options = DEFAULTS.merge(options) @cache = MemCache.new([ @options[:server], @options[:port] ].join(':'), :namespace => 'Feedzirra') end def get(url) res = @cache.get(key_for(url)) Marshal.load(res) unless res.nil? end def set(url, result) @cache.set(key_for(url), Marshal.dump(result)) end private def key_for(url) MD5.hexdigest(URI.parse(url).normalize.to_s) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems