Edge Rails 的更新:记录在Cookie上的session成为默认

Posted by yudi
on Monday, December 17


Edge Rails 现在开始 默认在cookie上面记录session 而不再是先前默认的记录在文档之中。为什么要改变呢?感觉看上去大体还是为了提高性能。在Cookie上记录sessions的意义仅在于应每一次访问要求后它的读取速度要快于访问文件系统。而且,我会想到由于相关的信息由此将被贮存在客户端(而不是以前的服务器端),这样对程序的大规模应用有一定的好处。

若要将全新的cookie记录应用到程序里,请确保将这几行写入您的environment.rb文件。

1
2
3
4
config.action_controller.session = { 
  :session_key => '_my_app_session', 
  :secret      => 'some_really_long_and_hashed_key' 
}

那么缺点呢?缺点碍于Cookie的大小一般被限制在4k。这个大小对于大多数session的使用(正当使用)已经足够,但是在某些案例里反而会成为约束。如果您的程序应用到大量的session信息以及存取,那么就需要在下列方法中选出一个不同的方法

  • ActiveRecordStore
  • SQLSessionStore
  • DRBStore
  • MemCacheStore

相关资源:

原文作者是 Ryan Daigle, 请访问他的博客
本片译文的原文地址:http://ryandaigle.com/articles/2007/2/21/what-s-new-in-edge-rails-cookie-based-sessions

Comments

Leave a response