본문 바로가기

NoSQL/redis8

[Redis 2편] Redis 상세 정리 (명령어, 싱글 스레드, 영속성) 목차는 redis 목차 에 있습니다. source 는 Github 에 있습니다. [Redis 2편] Redis 상세 정리 (명령어, 싱글 스레드, 영속성) Redis 명령어 Redis 는 해시 기반의 key-value 형식의 저장방식을 제공하면서 키 등록/ 조회에 O(1) 시간복잡도를 보장합니다. Get / Set : O(1) SADD, LSET, HSET, HGET —> O(1) 싱글 스레드 기반의 Redis Redis 4.0 부터 4개의 스레드로 동작합니다. 메인스레드 1개, 시스템 명령들을 처리하는 thread 3개 메인스레드에서 사용자 명령어를 처리하기에 싱글 스레드로 동작한다고 이해하면 됩니다. 싱글 스레드로 동작하고 해시 기반의 get/set 을 지원하기에 Redis 의 주요 기능들이 O(1).. 2022. 1. 13.
[Redis 4편] spring redis 환경 세팅 및 예제 목차는 redis 목차 에 있습니다. source 는 Github 에 있습니다. [Redis 4편] spring redis 환경 세팅 및 예제 spring redis 환경 세팅 redisTemplate 으로 redis 에 접근하여 set/get 을 하는 예제입니다. 이 예제는 redis 서버가 백그라운드로 동작하고 있다고 가정하고 있습니다. build.gradle implementation 'org.springframework.boot:spring-boot-starter-data-redis' application.yml spring: redis: host: localhost # redis host port: 6379 # redis port RedisConfiguration redisTemp.. 2022. 1. 6.
[Redis 5편] Redis 상세 정리 (트랜잭션과 Lock) 목차는 redis 목차 에 있습니다. source 는 Github 에 있습니다. [Redis 5편] Redis 상세 정리 (트랜잭션과 Lock) redis 트랜잭션과 Lock redis 는 key,value NoSQL 이지만 transaction, lock 관련 기능을 제공하고 있습니다. redis 트랜잭션 사용방법 (MULTI) MULTI 명령어를 사용한 후, 입력된 명령어가 QUEUE 에 쌓이며, EXEC 명령어를 사용할 때, QUEUE 에 들어있는 명령어가 한 번에 수행됩니다. 만약 QUEUE 에 들어간 명령어 중 잘못된 명령어가 있다면 이전 실행된 명령어들은 Redis 서버에 반영됩니다. redis Lock (WATCH) WATCH 명령어를 사용해서 특정 Key 에 Lock 을 걸면 Lock 이 .. 2022. 1. 5.
[Redis 1] Redis 는 무엇이며 언제 사용하는가? 목차는 redis 목차 에 있습니다. source 는 Github 에 있습니다. [Redis 1편] Redis 는 무엇이며 언제 사용하는가? Redis 는 무엇인가? 시스템의 메모리를 사용하는 key, value 데이터 스토어입니다. 디스크까지 접근해서 데이터를 가져오는 방식이 아니라 메모리를 통해 데이터를 가져오는 방식이기에 RDB 보다 접근 속도가 빠릅니다. single 스레드로 동작하여 Atomic 을 보장합니다. Redis 는 언제 사용하는가? 디스크 I/O 가 빈번하게 발생할 때, 매번 디스크에 접근해 I/O 처리를 한다면 속도가 느릴 것입니다. 이를 해결하기 위해 Redis 를 이용해서 데이터를 캐싱해놓고 빈번하게 발생하는 요청을 처리하는 것입니다. 또한, 이렇게 빈번하게 데이터를 처리하고 R.. 2022. 1. 4.