Rails.cache.fetch方法是原子的吗?

时间:2011-10-12 16:13:43

标签: ruby-on-rails memcached

具体来说,如果缓存中不存在密钥,我想将密钥值对添加到缓存中。可以使用Rails.cache.fetch吗?

以原子方式完成

谢谢!

1 个答案:

答案 0 :(得分:2)

您必须使用:unless_exist选项进行编写:

Rails.cache.write(k, v, :unless_exist => true)

只有当密钥不存在时,该方法才会返回true。否则,该方法返回false:

if Rails.cache.write(k, v, :unless_exist => true)
  # do something only when the key wasn't there
end