Redis
-
3. 레디스 RESTORE 명령어Redis/Command 2019. 3. 12. 15:02
1. redis 2.6.0 부터 지원 가능 2. 시간 복잡성: O(1)은 일련화된 값을 재구성하기 위해 소요되고 새로운 키와 추가 O(N*M)를 생성하는데, 여기서 N은 값을 구성하는 Redis 객체의 수와 M의 평균 크기를 나타낸다. 작은 문자열 값의 경우 시간 복잡성은 따라서 O(1)+O(1*M)이며 여기서 M은 작으므로 단순하게 O(1)이다. 그러나 정렬된 집합 값의 경우 정렬된 집합에 값을 삽입하는 것이 O(log(N)이기 때문에 복잡성은 O(N*M*log(N))이다. 3. 제공된 직렬화 값을 deserialize(DUMP를 통해 포함)하여 얻은 값과 관련된 키를 생성한다. ttl이 0인 경우 키가 아무런 만료 없이 생성되며, 그렇지 않으면 지정된 만료 시간(밀리초 단위)이 설정된다. RESTOR..
-
2. 레디스 DUMP 명령어Redis/Command 2019. 3. 12. 15:00
1. redis 2.6.0 부터 지원 2. 시간 복잡도 : 키에 접근하는데 O(1) 소요되고직렬화 하는데 O(N * M)이 소요됩니다.여기서 N은 값을 구성하는 Redis 객체의 수이고 M은 평균 크기 입니다. 짧은 문자열의 경우 시간 복잡도는 O(1) + O(1 * M)이고 M이 짧기 때문에 간단하게 O(1) 입니다.O(1)는 키에 액세스하고 추가 O (N * M)를 직렬화하여 N을 직렬화합니다. 여기서 N은 값을 구성하는 Redis 객체의 수이고 M은 평균 크기입니다. 작은 문자열 값의 경우 시간 복잡도는 O (1) + O (1 * M)이므로 M이 작기 때문에 단순히 O (1)입니다. 3. 키에 저장된 값을 Redis별 형식으로 직렬화하여 사용자에게 반환한다. 반환된 값은 RESTORE 명령을 사용하..
-
1. 레디스 APPEND 명령어Redis/Command 2019. 3. 11. 10:41
1. Redis 2.0.0. 부터 지원 가능2. 시간 복잡성: O(1)Redis가 사용하는 동적 문자열 라이브러리는 재할당 시 사용 가능한 공간을 두 배로 늘리기 때문에, 추가된 값이 작고 이미 존재하는 값이 어떤 크기라고 가정하면 상각 시간의 복잡성은 O(1)이다.3. 키가 이미 존재하고 문자열인 경우 이 명령은 문자열 끝에 값을 추가합니다. 키가 존재하지 않으면 생성되고 빈 문자열로 설정되므로 APPEND는 이 특수한 경우 SET와 유사합니다.(JAVA의 StringBuilder처럼 APPEND 할때마다 해당 key의 value 값의 맨뒤에 value를 추가한다) Examplesredis> EXISTS mykey(integer) 0redis> APPEND mykey "Hello"(integer) 5r..
-
레디스(Redis) 한 번에 여러 명령어 호출 시 파이프라인 및 트랜잭션Redis 2019. 3. 8. 18:07
Redis의 경우 Client에서 Command를 실행 시 Redis Server와 TCP로 통신하기 때문에 간단한 키, 값 데이터를 여러번 반복해서 등록할 경우 다수의 TCP 통신 과정에서 오버헤드가 발생하여 latency가 지연될 수 있다. 이 경우 Redis에서는 한번에 여러 명령어를 파이프라인으로 실행하여 결과 값을 한번에 배열 등으로 리턴 받을 수 있는데 Spring RedisTemplate 에서는 아래와 같은 방법으로 사용할 수 있다. 아래는 한번에 여러명령어를 실행하는 예제이다. //pop a specified number of items from a queue List results = stringRedisTemplate.executePipelined( new RedisCallback() ..