[REDIS] 직접 밖으로 레디 스 캐시의 콘텐츠를 제공하기 위해 nginx를 사용
REDIS직접 밖으로 레디 스 캐시의 콘텐츠를 제공하기 위해 nginx를 사용
나는 노드 응용 프로그램에 요청을 전달하는 nginx를 사용하고 있습니다. 응용 프로그램은 기본적으로 HTML에 대한 원격 캐시의 역할 (어떤 사용자가 요청하면 레디 스 DB에있는 경우는 그냥 보여 경우를 움켜 잡고 레디 스 캐시에 저장하고 그것을 제공하지 않을 경우 검사, 볼.)
레디 스에서 직접 컨텐츠를 제공 nginx를함으로써 노드 응용 프로그램을 치는 바이 패스 어쨌든이 있다면 나는 궁금해서? 나는 http_redis 모듈과 장난을 해왔다하지만 난 정말 작업에 얻을 수 없습니다.
간단한 예는 다음과 같습니다 http://mywebsite.com/a을의 nginx는 'A'키에있는 컨텐츠를 제공하거나 키가 존재하지 않은 경우에 노드 앱에 전달할 것 곳. 이 경우에도 가능합니까?
해결법
-
==============================
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.나는이 오래된 스레드 알고하지만 여전히, 이것은 일부 유용 할 수 있습니다. 직접의 nginx에 HttpRedis2Module를 사용하여 타격하지 않고 레디 스에서 제공 Nginx에있는 것으로 나는 같은 접근 방식을 시도했다. 나는 그것을 몇 가지 번거 로움 때문에 작업을 받았을 때 나는 행복했다,하지만 약간의 스트레스 테스트를했을 때 나는 정말 나쁜 결과를 준 두려워.
나는이 오래된 스레드 알고하지만 여전히, 이것은 일부 유용 할 수 있습니다. 직접의 nginx에 HttpRedis2Module를 사용하여 타격하지 않고 레디 스에서 제공 Nginx에있는 것으로 나는 같은 접근 방식을 시도했다. 나는 그것을 몇 가지 번거 로움 때문에 작업을 받았을 때 나는 행복했다,하지만 약간의 스트레스 테스트를했을 때 나는 정말 나쁜 결과를 준 두려워.
사실은 좀 더 빠르고 훨씬 더 안정적 그냥 모듈 nginx-> 레디 스 사용하는 것보다 nginx-> PHP-> MongoDB를 사용하여 역할을했다.
-
==============================
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 프로젝트는 아주 어린이다.
from https://stackoverflow.com/questions/4556063/using-nginx-to-serve-content-directly-out-of-a-redis-cache by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 레디 스 - 큰지도를 저장하는 가장 좋은 방법 (사전) (0) | 2020.01.05 |
---|---|
[REDIS] Node.js를 쿠에 실패한 작업을 다시 시작하는 방법 (0) | 2020.01.05 |
[REDIS] SQL과 같은 디자인 레디 스 데이터베이스 테이블? (0) | 2020.01.05 |
[REDIS] 레디 스 직렬화 및 역 직렬화 (0) | 2020.01.05 |
[REDIS] 잠금과 분산 증가를 레디 스 (0) | 2020.01.05 |