【发布时间】:2010-11-08 21:42:29
【问题描述】:
我一直被教导在会话中存储对象是一个坏主意。相反,应该存储 ID,以便在需要时检索记录。
但是,我想知道我有一个应用程序是该规则的一个例外。我正在构建一个抽认卡应用程序,被测验的单词在数据库中的一个表中,其架构不会改变。我想将当前正在测验的单词存储在会话中,以便用户可以在他们开始的地方完成,以防他们转到单独的页面。
在这种情况下,是否可以将这些单词作为对象存储在数据库中?如果是这样,为什么?我问的原因是因为测验旨在快速移动,我不想浪费数据库调用来检索一条从不改变的记录。但是,我不知道大型会话可能还有其他负面影响。
*作为记录,我已经尝试使用 Rails 2.3 中的内置 memcache 方法对其进行缓存,但显然每个项目的最大大小为 1MB。
【问题讨论】:
-
最大缓存大小为 1MB?这听起来不对。
-
一开始我很惊讶,但在我发现这一点之前遇到了非常奇怪的问题:code.google.com/p/memcached/wiki/…?虽然我只喜欢某种方式来缓存它,因为它可以解决我的问题。
-
哦,每个缓存项最多 1MB!我已经编辑了你的问题,以使那部分清楚。
-
啊,是的,很抱歉,感谢您的编辑 :)
标签: ruby-on-rails ruby session