2014-12-14 4 views
1

저는 Node에 API를 만들고 Redis에 API 키/액세스 토큰을 저장하려고합니다.Redis에 저장할 노드에 고유 한 API 키를 만듭니다.

키와 이메일 주소를 Redis에 저장하기위한 유일한 API 키/액세스 토큰을 생성하는 최선의 방법은 무엇입니까?

Redis에는 특정 길이와 문자 집합으로 고유 ID를 생성하는 inbuilt 함수가 있습니까, 아니면 어떻게해야합니까?

감사합니다.

+0

UUID 사용 : https://github.com/broofa/node-uuid –

답변

1

Redis의 INCR command을 사용하면 카운터를 증가시켜 고유 한 숫자 ID를 생성 할 수 있습니다. 내가 아는 한, 고유 한 ID를 생성하는 데 필요한 다른 내장 기능은 없습니다.

더 복잡한 ID가 필요한 경우 댓글에 Brendan처럼 노드에 생성해야합니다. redis INCR을 결합하여 숫자 값을 생성 한 다음 hashids과 같은 라이브러리에 제공 할 수 있습니다.

0

특히 redis 인스턴스에서 고유 ID에 대한 좋은 해결책은 도메인 이름과 uuid (Brendan의 응답 참조)를 조합하여 사용하는 것입니다. 그래서, '사용자의 도메인 이름으로 새 사용자를 삽입 응용 프로그램에 대한이 같은 ID를 만들 것입니다 :이 방법의

var uuid = require('node-uuid'); 

var createUniqueId = function() { 
    return 'User:' + uuid.v4(); 
}; 

다른 예는 leveldb하지만 레디 스에 적용하기위한 here 설명되어 있습니다.

1

Darryl West와 마찬가지로 노드에 토큰을 생성해야합니다. 그러나 uuid에 의존하지 않으려면 노드의 기본 제공 crypto을 사용하여 임의의 바이트를 만들고 문자열로 변환 할 수 있습니다.

자세한 내용은 crypto.randomBytes(size[, callback])을 참조하십시오.