数组作为Rails.cache.fetch方法中的第一个参数

巴万

我正在阅读有关Rails缓存获取方法的信息。我阅读的所有示例都将字符串作为方法中的第一个参数传递。但是,当我从Rails项目中读取代码时,我看到了一个array passed as the first argument in cache fetch method.

  def self.get_new_sitemap(https_version = false)
    Rails.cache.fetch(['sitemap_city_block', https_version], expires_in: 5.days) do
      modified_key = 'key1'
      LocalCache.set(modified_key, Date.today)

      protocol = (https_version ? 'https' : 'http')
      url_list = get_sitemap_urls(https_version)
      content = Nokogiri::XML::Builder.new do |xml|
        xml.urlset('xmlns' => "http://www.sitemaps.org/schemas/sitemap/0.9",
          'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance",
          'xsi:schemaLocation' => "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd") {
          url_list.each { |url|
            xml.url {
              xml.loc url[:loc]
              xml.lastmod url[:lastmod] if url[:lastmod].present?
            }
          }
        }
      end.to_xml
    end
  end

我无法理解传递数组背后的逻辑。在某些情况下,将传递大小为3的数组。
任何帮助将不胜感激。

汤姆·洛德

查看rails源代码可以发现(private)方法Rails.cache.expanded_key

这种方法可以做一些事情。特别是,它调用:key.to_param这会将数组转换为字符串

因此,换句话说,允许您使用Rails.cache.fetch数组(或哈希!)进行调用,但是在后台,缓存键仍然是字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅更改列表中第一个元素的方法(将列表作为参数传递)

来自分类Dev

返回作为第二个参数传递的数组中第一个参数的索引的函数

来自分类Dev

数组作为Rails中的参数

来自分类Dev

我可以将self作为python中类方法的第一个参数传递吗

来自分类Dev

使xargs作为第一个参数传递

来自分类Dev

使xargs作为第一个参数传递

来自分类Dev

无法打开文件作为第一个参数

来自分类Dev

必须以实例作为第一个参数来调用未绑定方法(代之以无用)

来自分类Dev

必须以实例作为第一个参数调用未绑定方法-python

来自分类Dev

未绑定的方法必须以实例作为第一个参数来调用

来自分类Dev

在每个视图中隐式调用Rails帮助器作为第一个参数

来自分类Dev

为什么.fit()需要2D数组作为第一个参数?

来自分类Dev

函数组合导致方法第一个缺少参数列表

来自分类Dev

使用数组作为参数仅通过第一个元素(JSON RPC)调用PHP中的另一个函数

来自分类Dev

格式中的第一个参数不能包含nil或为空-Rails 4

来自分类Dev

Rails获取错误:表单中的第一个参数不能包含nil或为空

来自分类Dev

Ruby on Rails:表单中的第一个参数不能包含nil或为空

来自分类Dev

Rails 4-表单中的第一个参数不能包含nil或为空

来自分类Dev

选择div的第一个图像作为数组

来自分类Dev

React js:无法将数组中的第一个对象作为prop发送

来自分类Dev

行中的第一个非空白单元格作为列的数组

来自分类Dev

数组的第一个值作为键名,最后一个作为值JavaScript?

来自分类Dev

Rails.cache.fetch 不适用于 json 数组

来自分类Dev

如何键入一个将对象数组作为第一个参数,并将对象上期望的特定属性作为参数的打字稿函数?

来自分类Dev

如何在rails find方法中获取第一个类别ID

来自分类Dev

数组中的第一个非负元素

来自分类Dev

跳过Golang中数组的第一个元素

来自分类Dev

ngxs setstate数组中的第一个元素

来自分类Dev

数组中的第一个非负元素

Related 相关文章

  1. 1

    仅更改列表中第一个元素的方法(将列表作为参数传递)

  2. 2

    返回作为第二个参数传递的数组中第一个参数的索引的函数

  3. 3

    数组作为Rails中的参数

  4. 4

    我可以将self作为python中类方法的第一个参数传递吗

  5. 5

    使xargs作为第一个参数传递

  6. 6

    使xargs作为第一个参数传递

  7. 7

    无法打开文件作为第一个参数

  8. 8

    必须以实例作为第一个参数来调用未绑定方法(代之以无用)

  9. 9

    必须以实例作为第一个参数调用未绑定方法-python

  10. 10

    未绑定的方法必须以实例作为第一个参数来调用

  11. 11

    在每个视图中隐式调用Rails帮助器作为第一个参数

  12. 12

    为什么.fit()需要2D数组作为第一个参数?

  13. 13

    函数组合导致方法第一个缺少参数列表

  14. 14

    使用数组作为参数仅通过第一个元素(JSON RPC)调用PHP中的另一个函数

  15. 15

    格式中的第一个参数不能包含nil或为空-Rails 4

  16. 16

    Rails获取错误:表单中的第一个参数不能包含nil或为空

  17. 17

    Ruby on Rails:表单中的第一个参数不能包含nil或为空

  18. 18

    Rails 4-表单中的第一个参数不能包含nil或为空

  19. 19

    选择div的第一个图像作为数组

  20. 20

    React js:无法将数组中的第一个对象作为prop发送

  21. 21

    行中的第一个非空白单元格作为列的数组

  22. 22

    数组的第一个值作为键名,最后一个作为值JavaScript?

  23. 23

    Rails.cache.fetch 不适用于 json 数组

  24. 24

    如何键入一个将对象数组作为第一个参数,并将对象上期望的特定属性作为参数的打字稿函数?

  25. 25

    如何在rails find方法中获取第一个类别ID

  26. 26

    数组中的第一个非负元素

  27. 27

    跳过Golang中数组的第一个元素

  28. 28

    ngxs setstate数组中的第一个元素

  29. 29

    数组中的第一个非负元素

热门标签

归档