【问题标题】:Storing sessions in db in rails在 Rails 中的 db 中存储会话
【发布时间】:2013-04-12 22:23:55
【问题描述】:

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

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

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

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

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

我只是在寻找有关此方法的一些其他信息,现在我在考虑应该保留它还是更改我的应用程序的逻辑。

【问题讨论】:

    标签: ruby-on-rails session


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-03-24
      • 2017-06-21
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 2015-02-19
      • 2015-10-01
      • 2011-05-22
      相关资源
      最近更新 更多