diff --git a/lib/geocoder/cache.rb b/lib/geocoder/cache.rb
index 6218db5fd94c676ef856ea87e06950377445a06e..d88241bedf25cff63a773cdb1c592aa68bbb66db 100644
--- a/lib/geocoder/cache.rb
+++ b/lib/geocoder/cache.rb
@@ -15,6 +15,8 @@ module Geocoder
           store[key_for(url)]
         when store.respond_to?(:get)
           store.get key_for(url)
+        when store.respond_to?(:read)
+          store.read key_for(url)
       end
     end
 
@@ -27,6 +29,8 @@ module Geocoder
           store[key_for(url)] = value
         when store.respond_to?(:set)
           store.set key_for(url), value
+        when store.respond_to?(:write)
+          store.write key_for(url), value
       end
     end