2

現在、Heroku で Sinatra を使用しています。唯一の同期はデータベースです。したがって、データベースに保存されているセッションが必要です (ActiveRecord を使用しないことをお勧めします)。

これを行うための Rack ミドルウェアまたは何か他のものはありますか?

4

2 に答える 2

1

セッション ストアにデータベースを使用する代わりに、Herokuで memcache アドオンを使用できます。memcachierのドキュメントでそれについて読むことができます

memcache をセッション ストアとして設定するための Sinatra スニペット

require 'rack/session/dalli'

mem_serv, mem_uname, mem_pword = ENV['MEMCACHIER_SERVERS'], ENV['MEMCACHIER_USERNAME'], ENV['MEMCACHIER_PASSWORD']
cache = Dalli::Client.new(mem_serv, {:username => mem_uname, :password => mem_pword})
use Rack::Session::Dalli, :cache => $cache

セッション ストアとしての IMO memcache は、データベースを使用するよりもはるかに理にかなっています。私が考えることができる他の代替手段は、Redis をセッション ストアとして使用することです。

于 2013-06-03T06:22:40.070 に答える