[REDIS] NodeJs - 사용 레디 스, 명시 적으로 연결 - 레디 스
REDISNodeJs - 사용 레디 스, 명시 적으로 연결 - 레디 스
노트 레디 스 고민하는 경우, 레디 스 서버가 시작되어야한다. "레디 스-SERVER.EXE"를 실행하여 https://github.com/dmajkic/redis/downloads는 다음 서버를 시작 창에서 다음 링크를 확인하는 레디 스 분배가
나는 node.js.에 대한 자습서를 따라 다음입니다 튜토리얼은 Express와 레디 스를 사용합니다. 나는 (그들이 package.json에서 참조) 레디 스 및 연결 - 레디 스를 설치 :
npm install redis connect-redis --save
내 server.js (만 의미있는 부분)에서 :
var express = require('express');
var http = require('http');
var app = module.exports = express();
var RedisStore = require('connect-redis')(express);
var redis = require("redis").createClient();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
console.log('views', __dirname + '/views');
app.set('view engine', 'jade'); //jade as template engine
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
secret: "kqsdjfmlksdhfhzirzeoibrzecrbzuzefcuercazeafxzeokwdfzeijfxcerig",
store: new RedisStore({ host: 'localhost', port: 3000, client: redis })
}));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
오류 메시지 :
Express server listening on port 3000
[ERROR] Error
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
at RedisClient.on_error (D:\Programming\Screencasts\peepcode\nodejs\peepcode
-069-full-stack-nodejs-i-mov\code\roland\HotPie\node_modules\redis\index.js:140:
24)
at Socket.<anonymous> (D:\Programming\Screencasts\peepcode\nodejs\peepcode-0
69-full-stack-nodejs-i-mov\code\roland\HotPie\node_modules\redis\index.js:74:14)
at Socket.EventEmitter.emit (events.js:88:17)
at Socket._destroy.self.errorEmitted (net.js:329:14)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
[ERROR] Error
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
at RedisClient.on_error (D:\Programming\Screencasts\peepcode\nodejs\peepcode
-069-full-stack-nodejs-i-mov\code\roland\HotPie\node_modules\redis\index.js:140:
24)
at Socket.<anonymous> (D:\Programming\Screencasts\peepcode\nodejs\peepcode-0
Express는 내가 기대되는, 포트 3000에서 수신 대기 시작합니다. 레디 스 오류 메시지가 내가 바인딩 레디 스 및 RedisStore을 어떻게 이해 무엇 RedisStore,에 redisClient를 전달하는 경우이 문제가 발생 포트 6379.에 연결을 언급하고있다.
나는 윈도우에서 개발하고
해결법
-
==============================
1.당신은 레디 스 서버를 실행하지 않는 것 같습니다. 당신은 다운로드하여 설치하고 서버와 클라이언트를 실행하는 방법에 대한 redis.io/download에 대한 좋은 설명이있다.
당신은 레디 스 서버를 실행하지 않는 것 같습니다. 당신은 다운로드하여 설치하고 서버와 클라이언트를 실행하는 방법에 대한 redis.io/download에 대한 좋은 설명이있다.
-
==============================
2.코드가 제공하는 벌금, 단지 구성 잘못된 것입니다. 변경해야하는 모든 포트 번호입니다.
코드가 제공하는 벌금, 단지 구성 잘못된 것입니다. 변경해야하는 모든 포트 번호입니다.
하나는 레디 스 저장 하나에 연결이 레디 스 서버가있는 어떤 포트에서 수신 대기하는 응용 프로그램을 말하고 설정으로 이동 예를 들어. 하나는 모두 함께 포트 지시어를 드롭 할 수와 연결 - 레디 스 원격 레디 스 서버의 기본 포트를 사용합니다.
이 경우 나는이 코드를 시도하는 것이 좋습니다 것입니다 :
변화:
store: new RedisStore({ ..., port: 3000, ... })
새로운:
store: new RedisStore({..., port: 6379, ... })
최신 정보:
나는 명령, 핑 NETSTAT한다는 것은 잊지 않았고, 텔넷 포트가 로컬로 열려 있고 서비스가 응용 프로그램에 반환하는 것을 디버깅을 할 수 있습니다. 이 두 명령은 cmd.exe를 / PowerShell에서 그리고 만약 배쉬에서 실행 될 것이다 당신의 리눅스, OSX, 또는 BSD 등 유닉스 환경입니다.
이것의 예는 다음을 실행하는 것입니다 :
윈도우 :
netstat -np tcp | find "3000" netstat -np tcp | find "6379"
리눅스 :
netstat -nlt | grep '3000\|6379'
중 로컬 호스트에 대한 어떤이가하는 것은 보고서 로컬 오픈 포트 : 3000 로컬 호스트 : 6379. 당신이 원격 시스템과 함께 작동 할 경우에는 서버가 있고 nmap을 같은 어떤 snort 원격 포트를 사용할 발견 할 수 있는지 확인하기 위해 핑을 사용합니다.
당신은 사용하여 연결은 모든이를 개시 할 것이다 다음 :
telnet <host> 3000 telnet <host> 6379
하나는 평균 하나가 하나의 네트워킹 기술 끝을 학습하지 않습니다하지 않는 웹 언어로 프로그래밍되어해서, 기억하십시오.
-
==============================
3.언급 한 것과 또한, 내가 추가하고 싶습니다 세션이 이제 명시 핵심 부족으로 express.session {..}는 다음과 같은 오류가 발생합니다.
언급 한 것과 또한, 내가 추가하고 싶습니다 세션이 이제 명시 핵심 부족으로 express.session {..}는 다음과 같은 오류가 발생합니다.
Error('Most middleware (like ' + name + ') is no longer bundled with Express an....
해결책: 더하다
var에 세션 =은 ( '세션을 표현')이 필요합니다;
그리고 express.session 대신 일반 세션을 사용하여
from https://stackoverflow.com/questions/12038128/nodejs-using-redis-connect-redis-with-express by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 페이 또는 레디 스 Pubsub (0) | 2020.01.12 |
---|---|
[REDIS] 시간 - 기반 값을 정렬 레디 스 데이터 구조 설계 (0) | 2020.01.12 |
[REDIS] ulimit를 우분투 16.04 systemd 레디 스 문제 (0) | 2020.01.12 |
[REDIS] 어느 (있는 경우)의 형 NoSQL 데이터베이스의 쿼리 결과 세트에 * 변경 *의 스트림을 제공 할 수 있습니까? (0) | 2020.01.12 |
[REDIS] 어떻게 레디 스 해시의 배열을 저장하기 위해? (0) | 2020.01.12 |