복붙노트

[REDIS] 직접 밖으로 레디 스 캐시의 콘텐츠를 제공하기 위해 nginx를 사용

REDIS

직접 밖으로 레디 스 캐시의 콘텐츠를 제공하기 위해 nginx를 사용

나는 노드 응용 프로그램에 요청을 전달하는 nginx를 사용하고 있습니다. 응용 프로그램은 기본적으로 HTML에 대한 원격 캐시의 역할 (어떤 사용자가 요청하면 레디 스 DB에있는 경우는 그냥 보여 경우를 움켜 잡고 레디 스 캐시에 저장하고 그것을 제공하지 않을 경우 검사, 볼.)

레디 스에서 직접 컨텐츠를 제공 nginx를함으로써 노드 응용 프로그램을 치는 바이 패스 어쨌든이 있다면 나는 궁금해서? 나는 http_redis 모듈과 장난을 해왔다하지만 난 정말 작업에 얻을 수 없습니다.

간단한 예는 다음과 같습니다 http://mywebsite.com/a을의 nginx는 'A'키에있는 컨텐츠를 제공하거나 키가 존재하지 않은 경우에 노드 앱에 전달할 것 곳. 이 경우에도 가능합니까?

해결법

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

    1.어쩌면 Webdis 이상 설치에 더 어려운 일이지만 redis2-의 nginx 모듈과 같은 몇 가지 추가 모듈로의 nginx 데몬에서 직접 그렇게 할 수 있습니다. 당신은 nginx를 다시 컴파일해야합니다.

    어쩌면 Webdis 이상 설치에 더 어려운 일이지만 redis2-의 nginx 모듈과 같은 몇 가지 추가 모듈로의 nginx 데몬에서 직접 그렇게 할 수 있습니다. 당신은 nginx를 다시 컴파일해야합니다.

    홈 페이지에서 구성의 좋은 사례가있다.

    예를 들어 :

    # GET /get?key=some_key
    location /get {
        set_unescape_uri $key $arg_key;  # this requires ngx_set_misc
        redis2_query get $key;
        redis2_pass foo.com:6379;
    }
    

    물론, 좀 더 nginx를 구성, 다른 URL 패턴을 얻을 수 있습니다.

    이 예를 들어, 당신이 너무 ngx_set_misc 모듈을 컴파일해야합니다 있습니다.

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

    2.나는이 오래된 스레드 알고하지만 여전히, 이것은 일부 유용 할 수 있습니다. 직접의 nginx에 HttpRedis2Module를 사용하여 타격하지 않고 레디 스에서 제공 Nginx에있는 것으로 나는 같은 접근 방식을 시도했다. 나는 그것을 몇 가지 번거 로움 때문에 작업을 받았을 때 나는 행복했다,하지만 약간의 스트레스 테스트를했을 때 나는 정말 나쁜 결과를 준 두려워.

    나는이 오래된 스레드 알고하지만 여전히, 이것은 일부 유용 할 수 있습니다. 직접의 nginx에 HttpRedis2Module를 사용하여 타격하지 않고 레디 스에서 제공 Nginx에있는 것으로 나는 같은 접근 방식을 시도했다. 나는 그것을 몇 가지 번거 로움 때문에 작업을 받았을 때 나는 행복했다,하지만 약간의 스트레스 테스트를했을 때 나는 정말 나쁜 결과를 준 두려워.

    사실은 좀 더 빠르고 훨씬 더 안정적 그냥 모듈 nginx-> 레디 스 사용하는 것보다 nginx-> PHP-> MongoDB를 사용하여 역할을했다.

  3. ==============================

    3.당신은 Webdis에 대한 역방향 프록시로 Nginx에를 설정하여 뭔가를 얻을 수 있어야합니다.

    당신은 Webdis에 대한 역방향 프록시로 Nginx에를 설정하여 뭔가를 얻을 수 있어야합니다.

    당신이 Webdis를 사용하는 방법은 그래서 당신은 / GET / 요청하는 키를 얻으려면, URL에 전체 명령을 넣어 것입니다. 여러분이 봉사하고자하는 모든 GET을 사용하여 사용할 수있는 경우는 Nginx에이 같은 일을 할 수있는이 수단 :

    location / {
      rewrite ^(.*)$ /GET/$1 break;
      proxy_pass http://127.0.0.1:7379/;
    }
    

    (여기 내 머리 위로 떨어져 설정을 쓰고, 구문이 약간 떨어져있을 수 있습니다).

    거기가 작동 얼마나 잘 어떤 이야기가 없다, 그리고 응답 당신은 아마 돌아 싶지 않아 몇 가지 추가 보풀와 JSON 문서 그래서 그러나, Webdis 프로젝트는 아주 어린이다.

  4. from https://stackoverflow.com/questions/4556063/using-nginx-to-serve-content-directly-out-of-a-redis-cache by cc-by-sa and MIT license