이 글은 제 포트폴리오에서 사용된 기술에 대한 내용을 다루고 있습니다. 자세한 내용은 추가로 검색을 해보셔서, 본인의 언어로 정리하시길 추천드립니다. 이 글 역시 제 생각과 언어에 맞게 정리하였고, 틀린 부분이 있을 수 있으니 댓글로 지적해 주시면 감사하겠습니다! [Redis] 💡Redis의 특징 ⬇️정리 더보기 key - value쌍의 해시맵과 같은 구조를 가진 NoSQL이다. 오픈소스 기반으로 인메모리 데이터 저장소로, 메모리에 데이터를 저장한다. 1. 성능 모든 데이터를 메모리에 저장되어 대기 시간을 낮추고 처리량을 높인다. 읽기, 쓰기 속도가 RDBMS에 비해 빠르다. 2. 유연한 데이터 구조 String, List, Set, HashMap 등 다양한 데이터타입을 지원한다. 3. 개발 용이성 쿼리..
문제 상황 어떤 데이터에 대해 매우 빠르게 수정이 일어날 때 동시성 문제가 발생할 수 있다. 예를 들어 A라는 데이터를 수정하는 로직이 0.1초 소요되는데, 0.001초 간격으로 A라는 데이터를 수정하는 요청이 여러 번 들어왔을 때 값이 제대로 수정되지 않을 수 있다. 이럴 때, DB 데이터 수정의 순차적 처리를 보장하기 위한 방법으로 Lock이 있다. Lock 트랜잭션 락과 비슷한 개념으로 어떤 데이터 수정, 접근 등에 Lock을 필요로 하게 설정하는 것이다. 데이터를 수정하려면 우선 Lock을 획득하고 수정 후에 Lock을 반납한다. 만약 Lock을 획득할 수 없는 상황에서는 Lock을 획득할 수 있을 때까지 대기하거나 수정을 취소할 수 있다. 분산 락(Distributed Lock) 하나의 공유 자..
Redis 설치 https://redis.io/docs/install/install-redis/install-redis-on-linux/ Install Redis on Linux How to install Redis on Linux redis.io 위의 Redis 공식 사이트에서 설치할 수 있다. Window의 경우 ubuntu 리눅스 서버 설치 후에 사용하는 것을 추천한다. Redis 실행 redis 실행 명령어 ~$ redis-server 위와 같이 6379 port로 redis가 실행된다. Redis client redis client 실행 명령어 ~$ redis-cli 기본 명령어 SET (key) (value) hello - world의 key value 쌍을 생성한다, GET (key) hel..