<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>船长日志 &#187; session</title>
	<atom:link href="http://www.cslog.cn/tag/session/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cslog.cn</link>
	<description>最让我激动的是不知道下一个星球上能发现什么...</description>
	<lastBuildDate>Wed, 30 Jul 2025 16:06:05 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Ruby on Rails的session和session存储方案</title>
		<link>http://www.cslog.cn/Content/ruby_on_rails_sessions/</link>
		<comments>http://www.cslog.cn/Content/ruby_on_rails_sessions/#comments</comments>
		<pubDate>Fri, 07 Sep 2007 01:48:56 +0000</pubDate>
		<dc:creator>船长</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[session:页面间的信息保存手段。 使用： 赋值 session[:pers &#8230; <a href="http://www.cslog.cn/Content/ruby_on_rails_sessions/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>session:页面间的信息保存手段。</p>
<p>使用：<br />
赋值<br />
session[:person] = ＠user<br />
读取<br />
Hello #{session[:person]}<br />
清除<br />
session[:person] = nil<br />
全部清除<br />
reset_session</p>
<p>Ruby on Rails提供的session存储方案：<br />
PStore (文件存储，默认方式)<br />
ActiveRecordStore(数据库)<br />
DRbStore<br />
FileStore<br />
MemoryStore</p>
<p>各存储方案在性能上的比较：<br />
<a href="http://scott.elitists.net/sessions.html">Ruby on Rails Session Container Performance </a></p>
<p>如何使用ActiveRecordStore（数据库）做为session存储方案<br />
使用数据库作为session储存方案可以让网站更方便地扩展成多服务器网站。使用方法：<br />
1. 运行 rake db:sessions:create<br />
2. 将config/environment.rb, uncomment 中下行的注释＃去除：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; config.action_controller.session_store = :active_record_store<br />
3. 运行rake db:migrate<br />
4. 重启服务器。</p>
<p>linux上用来清除长时不用的session的cron命令：<br />
$RAILS_APP_DIR/script/runner &#8216;ActiveRecord::Base.connection.delete(&quot;DELETE FROM sessions WHERE updated_at &lt; now() &#8211; INTERVAL 1 HOUR&quot;)
<div style="margin-top: 15px; font-style: italic">
<p>转载请注明: 转自<a href="http://www.cslog.cn/">船长日志</a>, 本文链接地址: <a href="http://www.cslog.cn/Content/ruby_on_rails_sessions/">http://www.cslog.cn/Content/ruby_on_rails_sessions/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.cslog.cn/Content/ruby_on_rails_sessions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
