Rails でグローバル変数っぽいもの、というか controller と model とでどうしても秘匿情報などをやりとりするのに session とか memcached に繋いで直接ぶち込んでやりとりすると思うけど、Rails.cache というのを使うと Rails 仕組みの中で memcached を透過的に扱えてコード的にも綺麗になる。
使い方は application.rb とか environments/*.rb などで
servers = ["foo.example.lan", "bar.example.lan"]
config.cache_store = :mem_cache_store, *servers
とか設定するだけで終わり。redis_store とか dalli_store もあるのでその辺はよしなにする。後は
Rails.cache.write(:foo, :bar)
Rails.cache.read(:foo)
という感じに使う。ただ、Rails.cache を経由すると保存されるデータは
ActiveSupport::Cache::Entry
のインスタンスになってしまうので、バックエンドのミドルウェアなどと単純にデータのやりとりをしたい、というだけなら
Rails.cache.write(:foo, :bar, :raw => true)
で書き込むとよい。便利。