sql - Rails - 当用户来到我的页面时如何仅第一次运行方法

标签 sql ruby-on-rails ruby statistics applicationcontroller

我的数据库中有很多数据,我想对它们进行统计。大量数据 = 表中数千行,我想获取每日、每周、每月(每个月)统计数据......只是详细的统计数据。

问题是,获取这些数据需要时间(而且不少)。

所以,我认为最快、最清晰、最有效的方式来获得它......

我的第一个想法 - 当用户访问我的应用程序时,在 ApplicationController 方法中,我将从数据库统计数据中获取数据,将我获取的对象保存到 session 变量中然后我将使用这些变量作为来源。然后,当我需要在应用程序中的某个位置打印统计信息时,我只需使用此加载的数据。

问题是:这是个好主意吗?或者,还有更好的办法吗?

最佳答案

而不是将数据库统计信息存储在 session 变量中。您可以存储在memcached中

Rails 具有出色的内置缓存支持

http://memcached.org/

https://github.com/mperham/dalli

关于sql - Rails - 当用户来到我的页面时如何仅第一次运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10189889/

相关文章:

ruby-on-rails - rails 中的定制链接

jquery - 隐藏输入 simple_form,Ruby on Rails

ruby-on-rails - state_machine 对转换的验证

ruby-on-rails - 如何自定义 GitLab 群组页面?

ruby - 安装 therubyracer 时出错

sql - View 和索引对性能的影响

sql - 如何从 SQL 服务器过程中获取所有错误消息

sql - 在 SQL Server 2005 中生成多个 SQL 任务

sql - MySql 使用 Sum 连接

ruby - 需要帮助在 ruby​​ 中操作数组