トップ «前の日記(2014/10/19 (日) ) 最新 次の日記(2014/10/21 (火) )» 編集 RSS feed

HsbtDiary


2014/10/20 (月) [長年日記]

[rails] Rails と dalli で raw データを書き込む術 Rails 4 編

Rails と dalli で raw データを書き込む術 で紹介した術だけど、この方法だと unicorn を使った時に session の socket が close しているのに強引に書こうとして Dalli::RingError になるという現象に遭遇した。

で、よくよく調べてみたら、Rails core team が提供する mem_cache_store を使えば

Rails.cache.write('foo', 'bar', raw: true)

を使って raw データを書き込めることがわかった。Rails4 からは mem_cache_store 自体が dalli を使って実装されているので、dalli に付いている独自実装の dalli_store ではなく mem_cache_store を使うことにすることで、Rails.cache に用意されている再接続処理をうまく使いつつ、raw データを書き込めるようになった。便利。