소개
본 장에서는 AnyLink Redis 어댑터의 기본적인 동작방식에 대해서 설명합니다.
1. 개요
Redis 어댑터는 인메모리 데이터 스토어인 Redis와의 연계를 지원합니다. AnyLink에서 사용하는 DTO(Data Transfer Object)의 값과 Redis 명령어를 매핑하여 동적으로 Redis와의 연계 업무를 처리할 수 있습니다.
2. 환경 구성
AnyLink에서 Redis 어댑터를 사용하기 위해서는 다음과 같은 환경 구성이 필요합니다.
-
Java 버전
Java 17(JDK 17.0)
-
Redis 클라이언트 라이브러리
라이브러리 배치 경로 비고 lettuce-core-7.1.0.RELEASE.jar
${DOMAIN_HOME}/lib/application/
-
reactive-streams-1.0.4.jar
${DOMAIN_HOME}/lib/application/
-
reactor-core-3.6.6.jar
${DOMAIN_HOME}/lib/application/
-
netty-buffer-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
netty-codec-base-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
netty-codec-dns-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
netty-codec-redis-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
netty-common-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
netty-handler-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
netty-resolver-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
netty-resolver-dns-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
netty-transport-4.2.4.Final.jar
${DOMAIN_HOME}/lib/application/
Netty 4.2.4.Final 서브모듈
해당 라이브러리는 AnyLink 배포판에 기본 포함되어 있으며, 누락된 경우 별도로 추가해야 합니다.
Netty 4.2.4 버전은 멀티 모듈로 분리되어 있어 netty-all-4.2.4.Final.jar 대신, 위에 명시된 서브 모듈을 각각 추가해야 합니다.
3. 어댑터 동작 방식
Redis 어댑터는 Redis 엔드포인트를 등록할 수 있으며, Redis 엔드포인트는 인바운드 엔드포인트가 존재하지 않고, 아웃바운드 엔드포인트만 사용합니다.
Redis 아웃바운드 엔드포인트는 대상이 되는 Redis 서버에 대한 접속 정보를 통해 Redis 연결을 가져오며, 해당 연결에 대하여 Redis 아웃바운드 룰에서 정의한 명령어 및 DTO와의 파라미터 매핑을 수행하고 실행시킵니다.
4. 지원 명령어
Redis 어댑터에서 지원하는 명령어는 다음과 같습니다. 명령어는 Redis 공식 홈페이지 (https://redis.io/docs/latest/commands/) 에 명시되어 있는 Syntax를 따릅니다.
| 명령어 | Syntax | 설명 |
|---|---|---|
GET |
GET |
지정된 키에 해당하는 값을 조회합니다. |
SET |
SET |
지정된 키에 값을 저장합니다. |
DEL |
DEL |
지정된 키(들)를 삭제합니다. |
EXISTS |
EXISTS |
지정된 키(들)의 존재 여부를 확인합니다. |
MGET |
MGET |
키(들)에 해당하는 값을 key-value 형식으로 조회합니다. |