복붙노트

[REDIS] 레디 스가 다운되면 캐싱 사용 안 레일

REDIS

레디 스가 다운되면 캐싱 사용 안 레일

나는 레일 4.1을 사용하고 있습니다 및 및 설치는 캐싱 레디 스 ElasticCache 노드를 공유했다. 나는 https://github.com/redis-store/redis-store 및 https://github.com/sorentwo/readthis 시도하고 그들은 큰 것 같다.

레디 스가 다운되면 어떻게 될까요? 두 readthis와 레디 스 매장은 완전히 실패합니다. 차라리 사이트 / O를 캐시 죽은 것보다 w 느려질 수 있습니다 것입니다.

누구든지 아이디어가 있습니까? 나는 사전에 감사합니다.

해결법

  1. ==============================

    1.https://github.com/sorentwo/readthis/pull/30 현재이 Readthis에서 직접 확인할 수 있습니다. 그것은 곧 1.2 버전에서 사용할 수 있습니다. 의 README에서 :

    https://github.com/sorentwo/readthis/pull/30 현재이 Readthis에서 직접 확인할 수 있습니다. 그것은 곧 1.2 버전에서 사용할 수 있습니다. 의 README에서 :

  2. ==============================

    2.다음은이 주제에 대한 흥미로운 토론은 다음과 같습니다 레디 스 다운의 경우 음주 응용 프로그램을 중단하지

    다음은이 주제에 대한 흥미로운 토론은 다음과 같습니다 레디 스 다운의 경우 음주 응용 프로그램을 중단하지

    문제는 여전히 열려 있고 그들은 토론이 같은 즉 원숭이 패치에서 몇 가지 제안 중 하나를 사용할 수 있습니다, 아직 이에 대한 어떤 수정을 병합하지 않았기 때문에 :

    # patch to do not crash on redis backend errors                                                 
    # https://github.com/redis-store/redis-rails/issues/14                                          
    
        module ActiveSupport                                                                            
          module Cache                                                                                  
            class RedisStore                                                                   
    
              %w[increment decrement clear read_entry write_entry delete_entry].each do |method|        
                define_method "#{method}_with_rescue" do |*args, &block|                                
                  begin                                                                                 
                    self.send "#{method}_without_rescue", *args, &block                                 
                  rescue                                                                                
                    nil                                                                                 
                  end                                                                                   
                end                                                                                     
                alias_method_chain method, :rescue                                                      
              end                                                                                       
            end                                                                                         
          end                                                                                           
        end 
    
  3. from https://stackoverflow.com/questions/33457765/disable-rails-caching-if-redis-is-down by cc-by-sa and MIT license