Ruby on rails 我是否应该避免在没有预防措施/过期的情况下使用Rails缓存对数据进行地理编码(Rails4,geocoder)

Ruby on rails 我是否应该避免在没有预防措施/过期的情况下使用Rails缓存对数据进行地理编码(Rails4,geocoder),ruby-on-rails,ruby-on-rails-3,caching,ruby-on-rails-4,rails-geocoder,Ruby On Rails,Ruby On Rails 3,Caching,Ruby On Rails 4,Rails Geocoder,我想知道是否可以将地理编码数据保存在Rails缓存中。事实上,我希望它能容纳100万用户,例如,我觉得我正在做的事情可能会导致某种缓存爆炸:) 我今天是这样做的:我保留从geocoder gem获得的地理编码数据:如下所示: Geocoder.configure({ ip_lookup: :maxmind, :maxmind => { :service => :country }, :api_key => ENV['APIKEY'], :us

我想知道是否可以将地理编码数据保存在Rails缓存中。事实上,我希望它能容纳100万用户,例如,我觉得我正在做的事情可能会导致某种缓存爆炸:)

我今天是这样做的:我保留从geocoder gem获得的地理编码数据:如下所示:

Geocoder.configure({  
    ip_lookup: :maxmind,
    :maxmind => { :service => :country },
    :api_key => ENV['APIKEY'],
    :use_https => true,
    timeout: 3,
    # here it is: I use cache in order not to send every page load a request to maxmind
    cache:  Rails.cache
  })
在这种配置中,Rails将在缓存中保留所有地理编码数据多长时间


我是否应该在缓存的每个数据上设置类似过期的设置?多长时间?

最重要的是:缓存不会爆炸。;-)

任何缓存都将保存尽可能多的数据,然后(一旦其容量被充分利用)在新数据进入(FIFO)后开始删除旧数据。如果我是你,我会使用Redis缓存,但这是可以讨论的