意外的内存缓存获取轨3.2应用程序(Unexpected memcache GETs in rail

2019-09-22 06:20发布

我的Rails 3.2的应用程序试图从我没想到它是缓存缓存(通过达利memcached的)获取的值。 它没有得到任何缓存命中,但我很疑惑到底是怎么回事。 这种情况与config.action_controller.perform_caching = true生产和开发,利用的WEBrick。

下面是我所看到的内存缓存中的详细输出的一个片段:

<30 GET https://www.myrailsapp.com/?
>30 Writing an error: Not found
>30 Writing bin response:
>30   0x81 0x00 0x00 0x00
>30   0x00 0x00 0x00 0x01
>30   0x00 0x00 0x00 0x09
>30   0x00 0x00 0x00 0x00
>30   0x00 0x00 0x00 0x00
>30   0x00 0x00 0x00 0x00
<30 Read binary protocol data:
<30    0x80 0x00 0x00 0xd0
<30    0x00 0x00 0x00 0x00
<30    0x00 0x00 0x00 0xd0
<30    0x00 0x00 0x00 0x00
<30    0x00 0x00 0x00 0x00
<30    0x00 0x00 0x00 0x00

需要注意的是只有一个缓存GET和我没有看到任何缓存写入。

我看到我所有的行动,其中大部分是JSON API调用类似缓存GET尝试。 所有这些导致缓存未命中。 像这样,

<31 GET https://www.myrailsapp.com/api/somecall?param1=foo&param2=bar
>31 Writing an error: Not found

我没有指定任何caches_action在我的应用程序指令的任何地方。

这是一个错误的轨道?

如果没有,我在哪里应该停止这些不必要的缓存的GET?

谢谢。

Answer 1:

按照GitHub的线程上cswilliams您已经发布:

这似乎是与一个问题rack_cache默认被启用(因为在主分支更新)。

禁用它在你的应用程序或环境属性文件(例如,配置/环境/ development.rb)似乎解决问题:

config.action_dispatch.rack_cache = false


文章来源: Unexpected memcache GETs in rails 3.2 app