Ruby on rails Rails.cache.fetch*.to_做什么?
我不完全确定这段代码的作用。是设置缓存变量吗?它在读吗?to_s只是将数字(20、0等)转换成字符串(“20”、“0”等)。所以它与此相同:Ruby on rails Rails.cache.fetch*.to_做什么?,ruby-on-rails,Ruby On Rails,我不完全确定这段代码的作用。是设置缓存变量吗?它在读吗?to_s只是将数字(20、0等)转换成字符串(“20”、“0”等)。所以它与此相同: if Rails.cache Rails.cache.fetch(20.to_s) # ec2-50-17-225-XX.compute-1.amazonaws.com:11212 Rails.cache.fetch(0.to_s) # ec2-174-129-33-XX.compute-1.amazonaws.com:11212 Rails
if Rails.cache
Rails.cache.fetch(20.to_s) # ec2-50-17-225-XX.compute-1.amazonaws.com:11212
Rails.cache.fetch(0.to_s) # ec2-174-129-33-XX.compute-1.amazonaws.com:11212
Rails.cache.fetch(10.to_s) # ec2-174-129-16-XX.compute-1.amazonaws.com:11212
Rails.cache.fetch(30.to_s) # ec2-54-242-2-XX.compute-1.amazonaws.com:11212
end
因此,这些amazonaws URL使用键“20”、“0”等存储在缓存中,然后上面的代码从缓存中检索这些值
(根据所使用的缓存存储,例如使用ActiveSupport::cache::FileStore或Dalli,您可以只使用整数值,而不首先转换为字符串,因此可能不需要将转换为)
if Rails.cache
Rails.cache.fetch("20") # ec2-50-17-225-XX.compute-1.amazonaws.com:11212
Rails.cache.fetch("0") # ec2-174-129-33-XX.compute-1.amazonaws.com:11212
Rails.cache.fetch("10") # ec2-174-129-16-XX.compute-1.amazonaws.com:11212
Rails.cache.fetch("30") # ec2-54-242-2-XX.compute-1.amazonaws.com:11212
end