diff --git a/examples/autoexpire_cache.rb b/examples/autoexpire_cache.rb deleted file mode 100644 index beca293ec6c45495b88c3e8837ea0d2bfdd453e8..0000000000000000000000000000000000000000 --- a/examples/autoexpire_cache.rb +++ /dev/null @@ -1,35 +0,0 @@ -# This class implements a common cache interface with simple delegation to the chosen cache store. - -require 'dalli_client' -require 'redis_client' - -class AutoexpireCache - def initialize(store_type = :redis, ttl = 86400) - @store = case store_type - when :redis - RedisClient.new(ttl) - when :dalli - DalliClient.new(ttl) - else - raise 'Unknown client type' - end - end - - def [](url) - @store.[](url) - end - - def []=(url, value) - @store.[]=(url, value) - end - - def keys - @store.keys - end - - def del(url) - @store.del(url) - end -end - -Geocoder.configure(:cache => AutoexpireCache.new) diff --git a/examples/dalli_client.rb b/examples/autoexpire_cache_dalli.rb similarity index 70% rename from examples/dalli_client.rb rename to examples/autoexpire_cache_dalli.rb index 4005ae958b6236ee67699e504468541eab6e2f31..0e51ba2e9548816fa43048cdffc2cecf274e17b0 100644 --- a/examples/dalli_client.rb +++ b/examples/autoexpire_cache_dalli.rb @@ -1,9 +1,15 @@ +# This class implements a cache with simple delegation to the the Dalli Memcached client +# https://github.com/mperham/dalli +# +# A TTL is set on initialization +# Dalli is set up as on Heroku using the Memcachier gem. +# https://devcenter.heroku.com/articles/memcachier#ruby +# On other setups you might have to specify your Memcached server in Dalli::Client.new + require 'dalli/client' require 'yaml' -class DalliClient - # Setup Dalli as on Heroku using the Memcachier gem. - # On other setups you'll have to specify your Memcached server +class AutoexpireCacheDalli def initialize(ttl = 86400) @keys = 'GeocoderDalliClientKeys' @store = Dalli::Client.new(:expires_in => ttl) diff --git a/examples/redis_client.rb b/examples/autoexpire_cache_redis.rb similarity index 94% rename from examples/redis_client.rb rename to examples/autoexpire_cache_redis.rb index abb8aa7b2ab8d7e81005c1bd9f3d41f9c158ad19..6cb53139bdc42cf0964537e7d0fefabc18b2436f 100644 --- a/examples/redis_client.rb +++ b/examples/autoexpire_cache_redis.rb @@ -1,7 +1,7 @@ # 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 +class AutoexpireCacheRedis def initialize(ttl = 86400) @store = Redis.new @ttl = ttl