Является ли метод Rails.cache.fetch атомарным? - PullRequest
3 голосов
/ 12 октября 2011

В частности, если ключ не существует в кеше, я хочу добавить пару ключ-значение в кеш. Можно ли это сделать атомарно, используя Rails.cache.fetch?

Спасибо!

1 Ответ

2 голосов
/ 18 марта 2013

Вы должны написать с опцией :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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...