0

Webサイトを実行しているサーバーが3台あります。ログインシステムを実装する必要がありますが、接続するサーバーに応じてユーザーの動作(ログインまたはログアウト)が異なるため、問題が発生します。

RailsのセッションストアにMemcacheを使用しています-config.action_controller.session_store=:mem_cache_store

ActiveSupport :: Cache :: MemCacheStore.new( "server1"、 "server2"、 "server3")

2行目はキャッシュの同期を維持するか、そのようなものになると思いました...

各サーバーには、1つのマスターと2つのスレーブを持つ独自のデータベースがあります。私はSQLストアでセッションを行うルートを試しましたが、それはSQLサーバーを本当に傷つけ、レプリケーションの負荷は非常に重くなります。

3つのサーバーすべてのすべてのセッションストアにこのMemcacheを使用するという簡単な方法はありますか?

それで私の問題は解決しますか?

本当にありがたいです。

4

1 に答える 1

0

以前に memcached を使用してセッションを保存したことはありませんが (redis の方が優れたソリューションだと思います)、各アプリケーション サーバーに回線がある限り ActiveSupport::Cache::MemCacheStore.new("server1","server2","server3") 、セッションは同期されたままになるはずです。

あなたが説明したのと同じセットアップを使用して、通常のCookieセッションを使用するだけで多くの成功を収めました.

于 2011-04-04T17:08:34.523 に答える