西纳特拉 + Heroku:在会话中存储大于 4k 的数据

发布于 2024-12-11 20:40:11 字数 341 浏览 0 评论 0原文

我有一个将在 Heroku 上运行的 Sinatra 应用程序。

它有一个相当长的运行方法(大约 1 到 3 秒)来创建数据列表。我一直在会话中存储这些数据。这样,当我的用户需要再次访问它时,我就不必重新生成列表(他们经常使用它)。

在某些情况下,数据超过 4k。这意味着我无法再将其存储在会话中。

Rack::Session::Pool,工作完美。除了它与heroku不兼容(因为dynos不共享内存)。

有人可以建议我如何最好地存储这些数据吗?

我考虑过将其写入我的 SQL 数据库,因为 SELECT 比最初生成的列表便宜。一定有更好的办法吗?

I have a Sinatra app that will be running on Heroku.

It has a fairly long running method (approx 1 to 3 seconds) that creates a list of data. I've been storing this data in a session. So that when my user needs to access it again I avoid having to regenerate the list (they use it often).

In some instances the data is over 4k. Meaning that I can no longer store it in a session.

Rack::Session::Pool, works perfectly. Except that it is not compatible with heroku (since dynos do not share memory).

Could someone suggest how I might best store this data?

I've considered writing it to my SQL database, since a SELECT would be less expensive than the original generation of the list. There must be a better way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心欲静而疯不止 2024-12-18 20:40:12

如果你不想使用数据库,那么像 Memcache 这样的东西怎么样?Heroku 有一个你可以使用的 memcache 插件。

If you don't want to use a DB then how about something like Memcache - Heroku have a memcache addon that you could use.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文