1

有没有办法在 RoR 中的页面加载之间保留数据?我想我正在寻找类似 memcached 的东西,但没有 TCP/IP 的开销。例如,PHP 有APC

理想的解决方案是内存中的东西。

4

5 回答 5

2

你为什么不把它存储在会话中?会话可以有多个后端,如 memcache 甚至一个数据库。我认为可以在本地部署 memcache,所以没关系。

另一种可能性是使用文件后端并将其存储在 RAM 驱动器上。但也许有一些用于 ruby​​ 的内存库可以让你将这些结果直接存储到 ram 中,但我没有这方面的经验。

于 2009-02-11T23:41:11.707 回答
1

基于 cookie 的会话存储速度很快,不需要服务器端存储或获取,安全,并且是 Rails 的默认设置。只要数据小于 4K,就没有理由不使用它。

于 2009-02-11T23:45:41.837 回答
0

多少数据?如果这很小,您可以将其存储在会话数据中(即session[:my_data] = "foo")。

于 2009-02-11T23:41:14.220 回答
0

我不会将 TCP/IP 组件称为“开销”——除非您在其他状态或其他情况下运行 memcached 服务器。Memchached 可以很好地在本地运行,并且 rails 可以很好地使用它。也许 memcached 甚至可以使用套接字文件而不是 IP 和端口,但我还没有研究过这个

于 2009-02-11T23:49:34.213 回答
0

您还可以序列化 ActiveRecord 模型。请参阅序列化方法。

于 2009-02-12T08:18:31.480 回答