西纳特拉 + Heroku:在会话中存储大于 4k 的数据
我有一个将在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果你不想使用数据库,那么像 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.