첫 번째 문제
세션, 상점, 인증 및 재발행을 파악하려고합니다. 중요한 경우 [email protected]
을 사용하고 있습니다. 내 RedisStore()
두 가지 옵션이 있다는 것을 이해합니다. 어느 것을 사용합니까? 둘 다 사용합니까?node.js에서 socket.io로 redis를 설정하고 표현하는 방법은 무엇입니까? 구체적으로 RedisStore()를 사용합니다.
express.session({secret: 'secret', key: 'key', store: new RedisStore()});
io.set('store', new RedisStore());
는 이미 node.js
, express
및 socket.io
실행합니다. 이제는 redis
을 구현하려고하지만 세션/저장소를 사용하여 권한을 구현하는 방법을 알지 못하고 redis 데이터베이스에 쓰는 방법을 모르겠습니다. 이것에 대한 문서를 찾지 못했습니다. socket.io and express을 사용하여 세션과 상점에 대해 이야기하는 사이트를 발견했지만 세션과 상점에 대해 이야기하고있는 또 다른 하나는 using all three입니다.하지만 io.set('store', ...)
은 사용하지 않습니다.
express
에 하나, socket.io
에 하나, 두 개 다른 점포를 사용해야하는지, 아니면 하나만 사용해야하는지 잘 모르겠습니다. 설명을 위해 예를 살펴 보겠습니다 :
//Redis Variables
var redis = require('socket.io/node_modules/redis');
var RedisStore = require('socket.io/lib/stores/redis');
var pub = redis.createClient();
var sub = redis.createClient();
var client = redis.createClient();
var redis_store = new RedisStore({
redisPub: pub,
redisSub: sub,
redisClient: client
});
app.configure(function(){
//...code goes here...
app.use(express.session({
secret: 'secret',
key: 'key',
store: redis_store //Notice I'm using redis_store
}));
//...more code...
});
io.configure(function(){
io.set('store', redis_store); //Notice it's the same RedisStore() being used
});
내가 각각 같은 RedisStore()
를 사용하십니까? 각각에 대해 별도의 파일을 만들 수 있습니까? express
또는 socket.io
만 사용합니까? 내가 정말로 원하는 것은 클라이언트를 인증 할 수있는 것입니다 (세션을 통해 완료된 것으로 가정합니다). 연결될 때 redis 데이터베이스를 업데이트해야합니다. 사람들이 내 사이트에 액세스 할 때의 로그를 유지해야합니다. 두 번째 문제가 생깁니다. 두 번째 문제
그래서 나는 액세스하고이 시점에서 레디 스 데이터베이스를 수정하는 방법을 모른다. 때문에 나는 내 첫 번째 문제의이를 테스트 할 수 없었다 그러나 나는 이런 식으로 뭔가있을 것입니다 가정 : 나는 또한 노드 내에서 레디 스 데이터베이스를 업데이트하는 방법에 대한 문서를 보지 못했다
io.sockets.on('connection', function(socket){
var session = socket.handshake.session;
redis.put(session);
});
. js 그래서 내가 의심의 여지가redis.put()
정확한 용어는 하하입니다. redis's website을 방문했지만 node.js에 대한 명령을 찾을 수 없습니다. 명령 줄에서 정규 redis를 사용하기위한 명령입니다. 어쨌든, 누군가가 적어도 올바른 방향으로 나를 가리킬 수 있다면 그것은 좋을 것입니다. 감사. :)
메모 : redis 저장소에서 암호를 사용하게되면 RedisStore 생성자의 일부로 'redis'키 아래에있는 redis 모듈 자체를 전달해야합니다. 자세한 내용은 다음을 참조하십시오. http://stackoverflow.com/questions/13438613/redis-auth-error-with-node-js-and-socket-io – Konklone