我正在使用Memcached Cloud插件在Heroku上运行rails应用程序。该应用程序是由开发人员设立的,现在已经很久了。
我正在尝试使用memcache来存储一些临时数据,但我无法让它工作。最令人困惑的是我对Rails.cache.write的调用,每次都返回nil。
我不想只是跳进去混淆缓存设置,因为它看起来确实有效,这个应用程序足够大且足够复杂,我不想冒任何风险。
我已经google了一段时间,但是这个nil返回似乎没有记录的行为(它是零,不是假的)。
控制台输出:
$>heroku run rails console -app <myapp>
...
irb(main):002:0> Rails.cache.write("foo","bar")
Dalli::Server#connect pub-memcache-16992.xxxxxxxxx.com:16992
Dalli/SASL authenticating as memcached-appxxxxxxx
Dalli/SASL: Authenticated
=> nil
enviromments / production.rb
config.cache_classes = true
config.cache_store = :mem_cache_store,
ENV["MEMCACHEDCLOUD_SERVERS"].split(','),
{ :username => ENV["MEMCACHEDCLOUD_USERNAME"], :password => ENV["MEMCACHEDCLOUD_PASSWORD"] }
的Gemfile:
gem 'dalli'
欢迎任何想法。
答案 0 :(得分:1)
捂脸
缓存已满,因此无法写入,nil是底层dalli客户端的文档响应。