刚开始在一个新的 Rails 应用程序中引入缓存。:memory_store
我们首先在 application.rb 中设置要使用的cache_store
config.cache_store = :memory_store
然后我通过 NewRelic 进行了一些性能测试,以查看模型缓存发生之前/之后的性能。
之后,我将 cache_store 切换为使用 :dalli_store,因为目前推荐将 memcached 与 Rails 一起使用。
config.cache_store = :dalli_store
然后,我在针对 memcached 的缓存测试之前/之后重新运行了相同的操作。缓存与非缓存请求/响应之间仍有明显的改进;然而,memcached 缓存的性能始终是标准 Rails :memory_store 的两倍(大约)。
为了澄清起见,在这些测试中,我在 Rails Web 应用程序本地运行了 memcached 服务器,以避免在混合中添加网络延迟问题。
所有这些都让我想到了以下真正的问题。
:memory_store
从over看到更快的性能是典型的:dalli_store
吗?如果不是典型的,除了从 memcached 获得适当性能所需的标准设置之外,是否还有一些我不知道的“技巧”?
如果它是典型的,那么为什么人们首先在 Rails 上使用 memcached 和 :dalli_store 呢?是可扩展性等问题吗?