在生产Memcache的工作,但在本地失败

我正在和一个朋友的应用程序,我一直运行到错误在我的本地环境中,但应用程序在线工作(使用Heroku的)。 我相信,内存缓存是导致我的本地环境的问题。 这是我到目前为止已经完成:

  1. 增加了内存缓存附加到我的应用程序的Heroku
  2. 在我的机器上安装自制软件
  3. 安装内存缓存使用自制与brew install memcached

然后我重新启动我的应用程序跑在内存缓存过程memcached -vv

当我访问应用程序正常工作。 然后,我将创建一个记录。 这也能正常工作。 然后在页面重载 - 当记录是牵强从缓存中,整个应用程序系统失败。 下面是我收到的错误(虽然我不知道它是多么的帮助)

You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.empty?

错误(S)只能指向代码在使用内存缓存。 一个简单的用户操作(如购买从公司一本书)触发错误,一旦它发生在整个应用程序被打破(意为任何路线导致了同样的错误)。 它好像它只是不存储/读取的项目,这让我想起了应用程序是不打内存缓存在所有...是否有可能我有宝石安装的东西 - 尽管这是工作在生产环境和另一个开发的机器?

我在寻找故障排除内存缓存的任何指导。 更具体地说,有没有人碰到与当地对生产环境的问题,关于内存缓存? 有什么建议么? 我想过从Heroku的应用程序移除内存缓存我的电脑上,然后取消安装,然后重做一切。

我知道我是相当模糊的,但在这里我不能完全肯定发布什么样的代码,这将有助于。

感谢您的任何帮助。

--------------解决方案-------------

太多的无奈之后,我就开始追溯我把安装和我的本地环境中实现内存缓存的步骤。 它没有意义它是如何工作的,并在网上与我的朋友的环境,但不是我的。 最后,我跑了bundle install ,然后重新启动应用程序并运行一个新的memcached进程和固定的一切。 我还是有点困惑,但我想我Gemfile只是不更新(即使我敢发誓这是)。

我用memached没有在我的environmens任何问题,但我不使用Herouku。 要访问memcached的,我从https://github.com/mperham/dalli安装了达利的宝石

使用它相当简单。 在该文件中的environment.rb加:

DC = Dalli::Client.new('localhost:11211')

在我使用的应用程序

DC.get(key)
DC.delete(key)
DC.set(key,value)

首先您需要测试如果实际上得到设置或不是你设置的键。 您可以通过Telnet接口使用memcached来进行测试。

分类:Ruby on Rails的 时间:2012-01-01 人气:0
分享到:

相关文章

  • 问题部署Rails应用程序的Heroku来 2012-03-26

    我有部署Rails应用程序的Heroku来的问题,我甚至不能运行的Heroku控制台! (见下文我从终端得到的回应) 我一般是相当新的轨与编程,所以我真的不明白的问题是在这里的东西,会很感激一些帮助! /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:239:in `require': /app/config/environments/production.rb:3:

  • Heroku的错误在Rails应用程序 2014-04-17

    我已经成功地创建了一个简单的应用程序,并把它推到的Heroku. 在第一推,我可以正确访问的URL. 不过,我已经做了改变,并承诺之后,我得到以下错误: 在应用程序发生错误,你的页面无法送达. 请稍后再试. 如果您是应用程序所有者,请检查您的日志的详细信息. 我检查使用日志heroku logs ,结果如下: 2012-01-16T18:15:07+00:00 app[web.1]: from /home/heroku_rack/heroku.ru:1:in `<main>' 2012-01-

  • 如何部署在Heroku上的JRuby Rails的3.1.X 2014-08-21

    我希望能够deply一个轨道的JRuby 3.1应用的Heroku. 现在的Heroku的Java suports:http://blog.heroku.com/archives/2011/08/25/java/据称,它应该有可能部署一个JRuby的Rails应用程序. 这里有一个教程普通的Java:http://devcenter.heroku.com/articles/java和另一个位置:http://devcenter.heroku.com/articles/spring-mvc-hib

  • Rails应用程序的Heroku中的启动速度非常缓慢 2012-02-11

    我在Heroku上托管的Rails应用程序. 如果我去了现场的第一次,它需要10多秒钟就可以启动应用程序. 在那之后,一切工作正常和快速. 我应该怎么做,以提高首次加载? 我要补充更多的Web Dynos,或多个工作Dynos,或做一些与我的配置? 谢谢. --------------解决方案------------- 如果你是在免费的Heroku 1赛道设置那么赛道将1小时活动后放松下来. 如果你支付1个或多个额外的dynos那么你们没有dynos将逐步减少,而你只会面临有史以来启动的时候,你

  • 为什么在Windows 7上的Ruby 1.9.2使用1.9.1路径宝石? 它是用C:/ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb 2013-03-30

    我用点击安装到C安装了Ruby 1.9.2:\ ruby​​192 它不设置任何路径,所以我将它设置为包括C:\ ruby​​192在路径的开始. 但是,当它的东西(Rails的3.0)错误,路径说: [Error message] c:/ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb 为什么它1.9.1宝石路为Ruby 1.9.2? --------------解决方案------------- 从一个

  • 请问主机托管服务提供商,以支持“Ruby on Rails的”或“只是红宝石”,以运行Rails? 2013-11-12

    是否主机托管服务提供商必须支持"Ruby on Rails的"或"只是红宝石",以运行Rails? 我知道主要是PHP和问自己,"Ruby on Rails的"行为与红宝石......就像"Zend框架",以PHP:只是一堆PHP文件,我可以在我的项目文件夹中复制,我的主机供应商只需要支持PHP. 我问我的主机只支持Ruby(而不是Rails的). 如果我couild只是在项目中复制轨道上SFTP,我想给它一个尝试. ----

  • 安装Ruby on Rails的,但是当我尝试运行Rails Sever的它不会加载的WEBrick? 2013-12-28

    我在我的Mac安装了今天的Ruby on Rails的宝石和MySQL一起. 我试图按照lynda.com教程,我碰到的砖墙. 当我尝试运行Rails服务器它不负载的WEBrick出于某种原因. 这是我的错误: /Library/Ruby/Gems/1.8/gems/railties-3.0.5/lib/rails/script_rails_loader.rb:11:警告:不安全的世界可写目录的路径/ usr /本地,模式040777 /Library/Ruby/Gems/1.8 /gems/b

  • Rails的3.2 - Heroku的部署与远程MySQL数据库 2014-05-03

    正在为我的最后一年的项目一个Rails应用程序,我想用的Heroku(有一个不起眼的子域安全性)来部署它,使我的上司可以跟上最新的最新发展. 而不是默认的SQLite数据库,我的Rails应用程序连接到远程MySQL数据库与预先存在的模式/数据. 我有我的database.yml设置好,当我在本地运行我的应用程序,它连接到远程数据库和工作正常. 然而,当我把它推到的Heroku,主页甚至不会开放. 我假设的Heroku,默认情况下,寻找你的数据库(PostgreSQL的,如果我是正确的)本地.

  • Rails的使用旧版本的Ruby,即使我已经更新了它 2014-05-09

    我有一个Ubuntu的机器安装了Ruby 1.8. 我复制我的Rails应用程序吧,并没有bundle install . 它安装了一切正常. 该应用程序需要Ruby 1.9,所以我下载了Ruby源代码,编译并安装它. 当我做ruby -v ,我得到ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux] ,但是当我做RUBY_VERSION上rails console ,我得到1.8.7 . 当我尝试运行我的Rails应用程序,它失败. 我

  • 是默认的Ruby安装在Mac OSX 10.5“足够好”的Rails开发? 2014-07-17

    OSX 10.5自带的Ruby 1.8.6我相信,但我看到了很多的建议,从源代码安装Ruby的最新版本的教程. 我已经在过去这样做,这是使一些小问题的道路,如果我安装了一些东西,希望红宝石是在默认位置,它不是(的Phusion客运PREF窗格中的实例). 我想知道的是,如果红宝石的默认版本是不够好用于开发目的,所以没有冲突或多个版本的Ruby的浮动呢? 显然,默认的RubyGems和Rails的版本需要升级,但我特别想知道的Ruby的默认版本自带的10.5. --------------解决方案

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.389 (s). 10 q(s)