先に結論
read:データを読み込む
write:データに書き込む
fetch:データを1つ取り出す(取ってきた後に、読み込みか書き込みか決定する)
以上です。
fetchについてはフェッチ【DB】 - 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典を読むと理解が深まるかと思います。
背景
RailsでRails.cache.fetch
メソッドを調べていて、「あれ、fetchってそもそもどういう意味だっけ...」となったので調べました。
具体例(Rails.cache.read, write, fetch)
Railsのキャッシュを操作するRails.cache
を例に挙げます。
・read、writeの使い方
# キャッシュからデータを読み込む('city'をキーとするデータが存在しないのでnilが返ってくる)
Rails.cache.read('city') # => nil
# キャッシュにデータを書き込む('city'がキー、'Tokyo'が値)
Rails.cache.write('city', 'Tokyo')
# キャッシュからデータを読み込む('Tokyo'が返ってくる)
Rails.cache.read('city') # => 'Tokyo'
・fetchの使い方
# キャッシュからデータを取ってくる('city'をキーとするデータが存在しないのでnilが返ってくる)
Rails.cache.fetch('city') # => nil
# キャッシュからデータを取ってくる
# もしデータが存在しなければ、do~endに囲まれたブロック部分を書き込む
Rails.cache.fetch('city') do
'Tokyo'
end
# キャッシュからデータを取ってくる('Tokyo'が返ってくる)
Rails.cache.fetch('city') # => 'Tokyo'
以上です。