TIL 07.21 [Redis사용]

박선우·2022년 7월 21일
0

Redis

목록 보기
1/1
post-thumbnail
  • redis를 이용해서 가변성이 있는 데이터는 redis로 저장하여 사용하기
  • 중복로그인 방지와 소셜로그인 할때 중복 이메일 있으면 어느 경로에서 가입했는지 알려주기
  • 이메일인증번호는 필수 입력값으로 저장하기보다는 일회성 데이터라 가변성이 가볍기 때문에 선택

Redis란? 왜쓰는가.

  • 오픈 소스로서 NoSQL로 분류되고, in-memory 솔루션으로 분류되기도 한다.

  • 외부에서 사용 가능한 Key-Value 쌍의 해시 맵 형태의 서버라고 생각할 수 있다.

  • 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 작업 속도가 상당히 빠르다.

Redis 개념잡기

  • 오늘 한일
  • 이메일 인증과 토큰값을 redis에 저장하여 사용

  • 이메일 인증은 한번만 쓰이기 때문에 발급이후 5분뒤에 삭제 해놓았다.

  • 토큰값은 발급할때 유효한 시간 설정이랑 같게 해서 새로운 로그인자가 로그인을 하게 되면 처음 로그인한 사용자는 로그아웃 되게 로직을 짜보았다.

redis 사용기

  • Redis를 로컬로 사용하지 않고 Redis 클라우드를 사용하여 외부에서 접속하게 했다.
  • Redis를 호스팅 해주는 서비스를 쓰는 것이 협업할때 편리하다

Redis 클라우드 등록하기!

const redisClient = redis.createClient({
  url: `redis://${process.env.REDIS_USERNAME}:${process.env.REDIS_PASSWORD}@${process.env.REDIS_HOST}:${process.env.REDIS_PORT}/0`,
  legacyMode: true,
});

redisClient.on('connect', () => {
  console.info('🟢 Redis 연결 성공!');
});
redisClient.on('error', (err) => {
  console.error('Redis Client Error', err);
});
redisClient.connect().then();
exports.redisCli = redisClient;
  • Mysql Workerbench 처럼 Redis Desktop Manage를 이용하여 눈으로 관리할 수 있게 사용하고 있다.
  • Redis 문법은 공부하여 redisCli, redisCli.v4 상황에 맞게 적용중

profile
코린이 열심히 배우자!

0개의 댓글