Redis Mapping

본 부록에서는 Redis 아웃바운드 룰에서 [쿼리 파라메터 매핑], [쿼리 결과 매핑] 을 사용하는 방법에 대해서 자세히 설명합니다.

1. 개요

Redis 아웃바운드 룰에서는 Redis 명령어를 실행하고 응답을 받기 위해 두 가지 매핑을 설정해야 합니다.

  • 쿼리 파라메터 매핑 : 요청 메시지의 필드를 Redis 명령어의 파라메터로 매핑합니다.

  • 쿼리 결과 매핑 : Redis 명령어 실행 결과를 응답 메시지의 필드로 매핑합니다.

요청 메시지에 설정한 메시지는 [쿼리 파라메터 매핑] 의 Source 에 나타나며, 응답 메시지에 설정한 메시지는 [쿼리 결과 매핑] 의 Target 에 나타납니다. 또한 Redis Command 선택에 따라 [쿼리 파라메터 매핑] 의 Target 필드, [쿼리 결과 매핑] 의 Source 필드가 달라집니다.

2. 매핑 설정

2.1. 쿼리 파라메터 매핑

쿼리 파라메터 매핑은 요청 메시지에 설정한 메시지를 사용하여 Redis 명령어를 구성합니다.

  • Source 필드 : 요청 메시지의 필드가 표시됩니다.

  • Target 필드 : 선택한 Redis Command에 따라 명령 파라메터가 표시됩니다.

Target 필드에서 [*] 표시가 있는 항목은 필수로 매핑해야 하는 값입니다.

2.2. 쿼리 결과 매핑

쿼리 결과 매핑은 Redis 명령어를 통해 나온 결과를 응답 메시지에 설정한 메시지의 필드에 매핑합니다.

  • Source 필드 : 선택한 Redis Command에 따라 결과 필드가 표시됩니다.

  • Target 필드 : 응답 메시지의 필드가 표시됩니다.

Source 필드에서 [*] 표시가 있는 항목은 Target 메시지에서 [*] 필드가 있는 메시지 필드에 매핑해야 합니다.

[*] 표시가 있는 값을 매핑할 때에는 메시지의 include 타입 + unbounded로 설정된 필드에 매핑해야 합니다.

다음은 MGET 명령어의 메시지 정의쿼리 결과 매핑 예시입니다.

figure redis mget mapping example1
MGET Redis 응답 메시지
figure redis mget mapping example2
MGET Redis 쿼리 결과 매핑

3. 다중 필드 매핑

keys 와 같이 다중 필드 값이 들어갈 수 있는 파라메터는 서비스 플로우의 요청 매핑에서 Expression 을 사용하여 매핑합니다.

예를 들어 key1, key2, key3keys 에 넣어 사용하고 싶은 경우, 공백(" ") 을 구분자로 사용하여 Expression을 작성합니다.

Expression 작성 예시

key1 + " " + key2 + " " + key3

위 Expression의 결과가 keys 파라메터에 매핑되어 MGET, DEL, EXISTS 등의 명령어가 실행됩니다.

다음은 MGET 명령어의 Activity 요청 매핑 예시입니다.

figure redis mget expression mapping example
Activity 요청 매핑

4. 명령어 별 매핑 예시

다음은 각 명령어(GET, SET, DEL, EXISTS, MGET)에 대한 쿼리 파라메터 매핑 + 쿼리 결과 매핑 예시입니다.

figure redis outboundrule get mapping
GET 매핑 예시 (좌: 쿼리 파라메터 매핑 / 우: 쿼리 결과 매핑)
figure redis outboundrule mget mapping
MGET 매핑 예시 (좌: 쿼리 파라메터 매핑 / 우: 쿼리 결과 매핑)
figure redis outboundrule set mapping
SET 매핑 예시 (좌: 쿼리 파라메터 매핑 / 우: 쿼리 결과 매핑)
figure redis outboundrule del mapping
DEL 매핑 예시 (좌: 쿼리 파라메터 매핑 / 우: 쿼리 결과 매핑)
figure redis outboundrule exists mapping
EXISTS 매핑 예시 (좌: 쿼리 파라메터 매핑 / 우: 쿼리 결과 매핑)