2015-05-19 174 views
0

我们的应用程序必须经常记录用户的操作(10〜15s),并且它可能非常繁重。因此,我们不希望每次用户更新内容时将数据存储到数据库中,并且我们希望将所有内容都存储在内存中(例如数组),然后在内存达到一定大小时将它们存储到数据库中。不同的用户应该去我们的目的相同的内存。如何在Ruby on Rails中将数据存储在内存中

我们已经在客户端做了一些缓存,但我们想在服务器上进一步优化它。

ROR有什么好办法吗?

谢谢!

+1

定义哪儿“内存”是什么?在Rails应用程序上 - 数据库*就是你的内存。 –

+2

查看redis,一个令人难以置信的快捷键值存储器。 –

+0

@TarynEast嗨,我的意思是RAM – silverwen

回答

4

这是一个常见问题。如果您对缓存数据结构感兴趣,Redis是闪电般快速的基于内存的数据结构服务器,通常用于减轻基于磁盘的数据库的负载。以下是截至2015年的最新文章。 http://www.sitepoint.com/rails-model-caching-redis/

的Rails也有基于本地内存的缓存功能,如果你不希望使用Redis的或Memcached的:http://guides.rubyonrails.org/caching_with_rails.html#activesupport-cache-store

+0

伟大的答案错误!非常感谢!有一件事我不是很确定:如果我使用Rails缓存,它需要设置过期时间,文档中的示例似乎主要用于缓存请求响应,那么适用于我的情况的是rails缓存吗? (也许我错过了文档中的某些东西) – silverwen

+0

你可以将任何东西放入对象缓存 - 例如一个值数组 - 然后将其拉出并添加到缓存中。如果它变得足够大,你可以刷新/坚持它到数据库。 –

相关问题