반응형

데이터베이스/0 + Redis 4

[Redis] 사용시 주의사항

Redis 사용시 주의사항    O(N) 명령어대부분의 명령어는 O(1)의 시간복잡도를 갖고 있지만, 일부 명령어의 경우 O(N)의 시간복잡도를 갖고 있는데요..!Redis는 Single Thread 로 동작하기 때문에, 오래 걸리는 명령어 수행시 전체적으로 애플리케이션 성능이 저하될 수 있습니다.keyssmembershgetallsort KEYS지정된 패턴과 일치하는 모든 key 조회하는 명령어로 prod 환경에서는 사용하지 않는 것이 권장 됩니다.$ keys * 1) "jobs" 2) "member" 3) "java-station:burgers" 4) "fruits" 5) "result" 6) "user:2:fruits" 7) "points" 8) "user:log-in:25-01-02" 9) "k1..

[Redis] 데이터 타입 활용

Redis 데이터 타입 활용 Redis 에서 제공하는 데이터 타입을 이용한 예시들을 알아봅시당~!StringsOne Time PasswordOne Time Password 란 인증을 위해 사용되는 임시 비밀번호를 의미 합니다.(회원가입 시 잠깐 사용되는 비밀번호) OTP 인증 과정Distributed Lock분산 락 이란 분산 환경의 다수의 프로세스에서 동일한 자원에 접근할 때, 동시성 문제를 해결하기 위해 사용되는 방법 입니다.자주 사용하는 RDB에 레코드 락을 걸어서 해결할 수 도 있지만, Redis를 이용해서도 여러 프로세서에서 데이터를 변경하는 문제를 막을 수도 있습니다. 참고RDB의 레코드 락을 사용하면 훨씬 안전하게 일관성을 유지할 수 있지만, 레코드가 존재하지 않는 경우에는 락을 사용할 수 ..

[Redis] 특수 명령어

Redis 특수 명령어 Redis는 Expiration 가 필요해!redis 는 기본적으로 in-memory 데이터베이스로 동작하기 때문에 저장된 모든 데이터가 서버의 메모리를 차지합니다.데이터가 계속해서 쌓기이만 한다면 메모리가 가득차게 되서 성능 저하 또는 서버가 중단될 수 있습니다.또한, 캐싱 레이어(caching layer)로 많이 사용되기 때문에 redis 에서 조회한 데이터가 최신 데이터가 아닐 확률이 있습니다.(일정 시간 이후에 최신 데이터가 필요하다면, 해당 데이터를 삭제해야 합니다.) 따라서, 데이터를 일정 시간이 지나면 삭제하여 불필요한 메모리를 사용을 방지할 수 있습니다.(데이터가 만료 되자마자 물리적으로 바로 삭제되지는 않고, 만료라고 표시했다가 백그라운드에서 주기적으로 삭제) 정리..

[Redis] Redis 특징과 데이터 타입 소개

Redis 특징 In-memory모든 데이터를 ram 에 저장(backup / snapshot 제외)Sigle thread단일 thread 로 모든 task 를 처리Cluster mode다중 노드에 데이터를 분산 저장하여 안정성과 고가용성을 제공안정성: Redis는 고속으로 데이터를 읽고 쓰는 데 최적화되어 있지만, 트래픽이 급증하면 단일 노드로 처리하기 어렵습니다.고가용성: 만약 마스터 노드가 장애가 발생하면, 클러스터 내 슬레이브 노드 중 하나가 자동으로 승격되어 마스터 역할을 대신합니다. 이를 통해 서비스 중단을 최소화합니다.마스터 노드는 데이터를 저장하고 처리하며, 슬레이브 노드는 복제본을 유지PersistenceRDB(Redis Database) + AOF(Append only file) 통해 ..

반응형