我有一个非独特的(其他人必须解决这个)问题围绕会话.
方案是我有5个顶级域(domain_a,domain_b,domain_c,domain_d,domain_e),以及每个域下的多个子域.我的应用程序需要在同一顶级域中的子域之间共享会话,例如sub_1.domain_b.com和sub2.domain_b.com可以共享,但sub_3.domain_c.com将是不同的会话.为了使问题更复杂,如果域a和b以及c&d也能够共享会话,那将是理想的.
所以规则:
domain_a与domain_b共享会话,并与其中的所有子域共享.很高兴在cookie_store中
domain_c与domain_d共享会话,并与其中的所有子域共享.很高兴在cookie_store中
domain_e仅在其子域中共享其会话.这需要在active_record_store中
我怎样才能做到这一点?
我尝试使用以下内容创建初始化程序:
MyApp::Application.config.session_store :cookie_store, :key => '_domain_a', :domain => '.domain_a.com'
MyApp::Application.config.session_store :cookie_store, :key => '_domain_b', :domain => '.domain_b.com'
MyApp::Application.config.session_store :cookie_store, :key => '_domain_c', :domain => '.domain_c.com'
MyApp::Application.config.session_store :cookie_store, :key => '_domain_d', :domain => '.domain_d.com'
MyApp::Application.config.session_store :active_record_store, :key => '_domain_e', :domain => '.domain_e.com'
Run Code Online (Sandbox Code Playgroud)
但是我不确定这是否有效.domain_e.com会话工作,这是有意义的,因为它是最后一个声明,任何想法?
我正在运行以下查询,返回结果平均需要9秒.它上面没有过滤器,所以我不确定索引是否会有所帮助.为什么这么慢?那里只有250个对象,只有4个字段(全部是文本).
Country.collection.find({},:fields => ['country_name', 'country_code']).to_json
"cursor":"BasicCursor",
"nscanned":247,
"nscannedObjects":247,
"n":247,
"millis":0,
"nYields":0,
"nChunkSkips":0,
"isMultiKey":false,
"indexOnly":false,
"indexBounds":{},
"allPlans":[{"cursor":"BasicCursor","indexBounds":{}}]
Run Code Online (Sandbox Code Playgroud)
机器上的cpu,内存和磁盘甚至都没有注意到查询运行.任何帮助,将不胜感激.