2012-01-06 7 views
1

친구와 함께 응용 프로그램을 만들고 있는데 로컬 환경에서 오류가 계속 발생하지만 응용 프로그램은 온라인으로 작동합니다 (Heroku 사용). 나는 memcache가 나의 지역 환경에서 문제를 일으키고 있다고 생각한다. 여기에 지금까지 한 일이다 :Memcache는 제작 중이지만 로컬에서는 작동하지 않습니다.

  1. 추가 memcache에 추가 내 응용 프로그램에 Heroku가에
  2. 내 컴퓨터에
  3. 설치 브루
  4. 설치된 memcache를 사용 브루 그 다음 brew install memcached

와 내 응용 프로그램을 다시 시작하고 memcached -vv으로 memcache 프로세스를 실행했습니다.

앱에 액세스하면 정상적으로 작동합니다. 그런 다음 레코드를 만듭니다. 이것은 또한 잘 작동합니다. 그런 다음 페이지를 다시로드 할 때 - 캐시에서 레코드를 가져 오면 전체 앱이 체계적으로 실패합니다. (나는 그것이 얼마나 많은 도움 모르겠어요하지만) 다음 memcache에 사용되는 경우 코드에 오류 (들) 만 포인트는

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? 

I 나타나는 오류입니다. 간단한 사용자 조치 (즉, 회사에서 책 구입)를 실행하면 오류가 발생하고 앱이 발생하면 모든 앱이 중단됩니다 (모든 경로가 동일한 오류를 발생시키는 것을 의미 함). 마치 그냥 항목을 저장/가져 오는 것 같지 않아서, 응용 프로그램이 memcache를 전혀 사용하지 않는다고 생각하게합니다. 뭔가를 설치해야 할 수도 있습니다 - 프로덕션 환경에서 작업 중이거나 다른 장치의 기계?

memcache 문제 해결에 대한 지침을 찾고 있습니다. 보다 구체적으로 Memcache와 관련하여 로컬 환경과 프로덕션 환경에서 문제가있는 사람이 있습니까? 어떤 제안? 나는 Heroku에있는 응용 프로그램에서 Memcache를 제거한 다음 내 컴퓨터에서 제거하고 모든 것을 다시 실행하는 방법에 대해 생각해 보았습니다.

저는 여기에 상당히 모호하다는 것을 압니다.하지만 어떤 코드를 게시하면 도움이 될지 확실하지 않습니다.

도움 주셔서 감사합니다.

답변

1

많은 좌절감을 겪은 후 필자는 로컬 환경에서 Memcache를 설치하고 구현하는 단계를 시작했습니다. 그것이 온라인에서 그리고 친구의 환경과 어떻게 작동하고 있었는지는 알지 못했지만 광산에서는 그렇지 않았습니다. 결국 bundle install을 실행 한 다음 앱을 다시 시작하고 새로운 memcached 프로세스를 실행하면 모든 것이 수정되었습니다. 나는 아직도 약간 혼란 스럽지만 내 Gemfile은 업데이트되지 않았다고 생각한다.

0

Herouku를 사용하지 않지만 내 환경에서는 아무 문제없이 memached를 사용합니다. memcached에 액세스하려면 Dalli gem을 설치했습니다. https://github.com/mperham/dalli

사용하는 것은 다소 간단합니다. 파일 environment.rb에 추가 기능에서 : 응용 프로그램에서

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

나는 당신이 먼저 설정하는 키가 실제로 설정 여부를지고있는 경우 테스트해야합니다

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

답변 주셔서 감사합니다.하지만 번들을 실행하여 문제를 해결 한 것 같습니다 (위 설명 참조). – mmichael

0

를 사용합니다. Memcached via a Telnet interface을 사용하여이를 테스트 할 수 있습니다.

+0

링크의 단계를 따르고 모든 것이 제대로 작동하는 것처럼 보였습니다.필자는 필사적으로 지내고 memcache를 로컬에서 설치하고 구현하기위한 단계를 되돌아 보았습니다. 그리고 한 번에 번들 설치를 실행하고 앱을 다시 시작한 다음 새로운 memcached 프로세스를 다시 시작한 후에 문제가 해결 된 것으로 보입니다. 정확히 무엇이 문제를 해결했는지는 확실치 않지만 (아마도 번들을 실행 중임) 그럼에도 불구하고 문제는 사라졌습니다. 링크를 가져 주셔서 감사합니다. 흥미로운 정보를 찾았습니다. – mmichael

관련 문제