gpt4 book ai didi

ruby-on-rails - 为什么 Rails.cache.write 在 Rails 2.3.11 和 Rails 3.2.11 控制台中返回不同的值?

转载 作者:数据小太阳 更新时间:2023-10-29 08:32:38 25 4
gpt4 key购买 nike

我试图在 10 秒内使 key 过期,不知何故,但无法使用 rspec。在这个过程中,我注意到 Rails.cache.write 在 Rails 2.3.11 中返回 false,而 Rails.cache.write 返回 true 在 Rails 3.2.11 中,这是一个问题吗?为什么不同的值(value)?为什么 Rails 2.3.11 返回 falseRails 3.2.11 返回 true

Rails 2.3.11

irb(main):001:0> Rails.cache.write("test", "java", :expires_in => 10.seconds)
=> false

Rails 3.2.11

irb(main):001:0> Rails.cache.write("test", "java", :expires_in => 10.seconds)
=> true

我在 Rails 2.3.11 上使用 jruby 1.6.5.1,在 Rails 3.2.11 上使用 jruby 1.7.3。

最佳答案

Rails.cache.write 方法有时被称为 command 方法,它因其副作用而被调用,而不是 query 方法,调用它的返回值(有关更多信息,请查看 command-query separation )。

the Rails docs不保证返回值,最好不要依赖它,因为它可能(并且显然已经)在没有警告的情况下发生变化。

关于ruby-on-rails - 为什么 Rails.cache.write 在 Rails 2.3.11 和 Rails 3.2.11 控制台中返回不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16989334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com