Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails.cache.fetch*.to_做什么?_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails.cache.fetch*.to_做什么?

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

我不完全确定这段代码的作用。是设置缓存变量吗?它在读吗?

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.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