2

我最近在我的 rails 应用程序中遇到了 cookieOverflow 异常。我用谷歌搜索了一下,发现这个答案最有帮助:

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

在数据库中实现存储会话后,我试图找出这种方法的缺点,到目前为止,我在会话表中看到大约 1200 个条目,这些条目仅在几个小时内就填充完毕。

何时发生与数据库的实际交互,仅在将数据写入会话时还是?

这增长得相当快,所以有没有办法从数据库中清除旧的未使用的会话,而不是有一些日常的 cron 作业或其他东西。

我只是在寻找有关这种方法的一些额外信息,现在我在想我应该保留它还是更改我的应用程序的逻辑。

4

1 回答 1

1

> 一个 cookie 中的 4KB 很多,因此考虑更改您的应用程序可能不是一个坏主意。

也就是说,几个小时内达到 1200 似乎并不奇怪。如果您担心它会无限增长,您可以使用 memcache 或 redis 作为缓存层来存储您的 cookie 而不是数据库。这将使您不必担心数据库的增长。不利的一面是,驱逐可能意味着您将人们注销。

话虽如此,我们每天都有许多类似 cron 的作业来清理我们的数据库表,而不是为会话,但它是相似的。无论如何,它们在利用率低的时候运行。

于 2013-04-12T14:23:55.133 回答