2013-04-11 114 views
2

我最近在我的rails应用程序中遇到了cookieOverflow异常。我GOOGLE了一下,发现这个答案是最有帮助的:用db在db中存储会话

https://stackoverflow.com/a/9474262/169277

已实施存储会话数据库中,我试图找出这种方法的弊端至今我看到周围1200项之后在仅仅几个小时内填充的会话表中。

什么时候发生与数据库的实际交互,只有在将数据写入会话或?

这种增长而快,所以有没有办法清除从数据库等老未使用的会话不是有一些日常cron作业什么的。

我只是在寻找一些额外的信息对于这种做法,现在我想我应该把它和我的应用程序的变化逻辑。

回答

1

> Cookie中的4KB很多,所以更改您的应用程序可能不是一个坏主意。

也就是说,1200几小时内似乎并不古怪。如果您担心无限增长,则可以使用memcache或redis作为缓存层来存储Cookie而不是数据库。这将让你免于担心数据库的增长。不利的一面是,驱逐可能意味着你正在将人员排除在外。

所有这一切说,我们有一个数字,清理我们的数据库表,而不是日常会话类似cron的工作,但它是类似的。无论如何,它们在晚上利用率低时运行。