
RedisInsight는 Redis를 위한 쉽고 직관적인 GUI 도구로, 모든 데이터베이스를 한눈에 관리하고 데이터를 손쉽게 다룰 수 있게 해줍니다. 가장 널리 사용되는 Redis 모듈들을 기본적으로 지원하며, 데이터베이스의 메모리 사용량 분석과 성능 프로파일링에 필요한 도구도 함께 제공합니다.
최신 버전인 RedisInsight 1.6은 개발자 경험을 한층 더 즐겁게 만들어 줄 새로운 기능과 개선 사항을 담아 또 하나의 중요한 이정표를 세웠습니다. 이번 글에서는 RedisInsight의 최신 변화에 대한 모든 세부 내용을 확인해 보세요.
주요 기능 한눈에 보기
올해 초부터 RedisInsight의 여러 새 버전이 연달아 출시되었습니다. 각 버전에는 새로운 기능, 개선 사항, 버그 수정이 포함되어 있었으며, 주요 하이라이트는 다음과 같습니다.
- RedisGears 베타: RedisInsight에서 바로 RedisGears 함수를 작성, 빌드, 실행, 관리할 수 있습니다.
- Redis 6 및 ACL: 최신 Redis 릴리스와 새로운 액세스 제어 목록(ACL) 기능을 지원합니다.
- 멀티라인 쿼리 편집: RediSearch, RedisGraph, RedisTimeSeries 쿼리를 여러 줄로 작성하고 구조화할 수 있습니다.
- 강력해진 CLI(명령줄 인터페이스): 더 빠르고 제약 없는 redis-cli 환경과 깔끔한 출력 형식을 제공합니다.
- TLS 지원: TLS 인증이 필요한 Redis 데이터베이스에 연결할 수 있습니다.
- Redis 데이터베이스 자동 검색: Redis Enterprise Cloud 및 Redis Enterprise Software 사용 시 빠른 설정이 가능합니다.
- 전체 화면 모드: 방해 요소 없이 그래프, 검색 쿼리, 시계열 데이터를 더 큰 화면 공간과 자세한 정보로 확인할 수 있습니다.
빠른 시작
최신 RedisInsight 1.6.0은 로컬 설치와 Docker 컨테이너 두 가지 방식으로 이용할 수 있습니다.
로컬 설치
Redis 공식 웹사이트에서 Windows, Mac, Linux용 RedisInsight를 다운로드하세요.
Docker 설치
docker run -v redisinsight:/db -p 8001:8001 redis/redisinsight:latest
RedisInsight 설치에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다.
업그레이드
버전 1.2.2부터 RedisInsight는 새 업데이트가 있으면 알려줍니다. 또는 운영체제에서 애플리케이션을 제거한 후 다시 설치하는 방식으로 업그레이드할 수도 있습니다. 업데이트 시에도 모든 환경 설정, 특히 데이터베이스 연결 정보가 그대로 유지됩니다.
RedisInsight 1.6의 새로운 기능
RedisGears 베타 지원
RedisGears는 개발자가 Redis에서 데이터 흐름을 구현하는 함수를 작성하고 실행할 수 있게 해주는 동적 프레임워크로, 데이터의 분산과 배포 과정을 추상화합니다. RedisGears를 활용하면 애플리케이션 성능을 개선하고 실시간으로 데이터를 처리할 수 있습니다. Redis 안에서 프로그래밍하고, 함수를 배포하며, 데이터가 있는 곳에서 서버리스 엔진을 실행할 수 있습니다. (RedisGears에 대한 자세한 내용은 "Announcing RedisGears 1.0: A Serverless Engine for Redis" 블로그 글을 참고하세요.)

RedisInsight 1.6에는 애플리케이션 메인 메뉴에서 접근할 수 있는 새로운 도구가 추가되어 RedisGears 서버리스 엔진과 상호작용할 수 있습니다. 이 도구를 통해 최근 실행된 함수의 기록을 살펴보고 결과(및 오류)를 분석할 수 있으며, 함수가 실제로 수행하는 작업에 따라 실행 요약과 결과 데이터를 확인할 수 있습니다.
또한 RedisGears를 사용하면 특정 데이터 이벤트에 의해 트리거되는 함수를 등록할 수 있습니다. RedisInsight 내에서 등록된 함수를 관리하고 탐색할 수 있으며, UI를 통해 Redis에서 실행 중인 모든 함수를 한눈에 파악할 수 있습니다.
마지막으로 간단한 코드 에디터도 추가되었습니다. 물론 여러분이 선호하는 IDE나 개발 도구를 대체하려는 것은 아니지만, 통합 에디터를 활용하면 실시간으로 데이터를 처리하거나 특정 데이터 이벤트 발생을 감지하는 스크립트를 빠르게 작성할 수 있습니다.

이 새로운 기능은 현재 베타 단계이므로, Redis 커뮤니티 포럼에서 여러분의 피드백과 의견을 기다립니다.
Redis 6 및 액세스 제어 목록(ACL) 지원
이제 RedisInsight는 Redis 6과 완전히 호환되며, 두 제품은 매끄럽고 투명하게 함께 작동합니다.
Redis 6에서 도입된 핵심 기능 중 하나가 바로 액세스 제어 목록(ACL)입니다. ACL은 Redis에 "사용자" 개념을 도입하여 각 사용자에게 허용되는 Redis 접근 수준을 제어할 수 있게 합니다. 특정 사용자가 실행할 수 있는 명령과 접근할 수 있는 키를 설정할 수 있으며, 이를 통해 훨씬 더 나은 보안 관행을 적용할 수 있습니다. 이제 주어진 사용자의 권한을 필요한 최소 수준으로 제한할 수 있어, 애플리케이션에서 여러 서비스를 구축하는 경우 특히 유용합니다. 전용 사용자를 생성하여 데이터베이스에서 특정 명령 집합만 허용할 수 있고, ACL을 통해 사용자별로 지정된 권한에 따라 특정 명령, 키, 심지어 키 패턴에만 접근을 허용할 수 있습니다.
각 정의된 사용자는 고유한 비밀번호를 가질 수 있습니다. 이제 RedisInsight에서 Redis에 연결할 때 아래와 같이 연결할 사용자와 비밀번호를 지정할 수 있습니다.

참고: RedisInsight를 사용하려면 사용자에게 최소한 INFO와 PING 명령을 실행할 수 있는 권한이 있어야 합니다. 이 명령들은 RedisInsight가 Redis와 올바르게 연동되도록 설정하는 데 사용됩니다.
강력해진 CLI
RedisInsight는 대부분의 기능을 쉬운 UI로 제공하지만, 어떤 경우에는 고급 명령을 실행해야 할 수도 있습니다. 이를 위해 RedisInsight에는 웹 CLI가 통합되어 있어 언제든 손쉽게 데이터베이스와 상호작용할 수 있습니다. 최신 버전에서는 대부분의 명령 제한을 제거하고 출력 형식 지원을 개선하여 CLI가 한층 향상되었습니다.
처음에는 RedisInsight 사용자가 데이터베이스에서 실행할 수 있는 명령 목록을 제한했습니다. 하지만 사용자들의 피드백에 따르면 이러한 제한이 항상 도움이 되지 않았고, 대부분의 사용자는 redis-cli처럼 모든 명령을 실행하기를 원했습니다. 그래서 이제 RedisInsight의 통합 CLI는 redis-cli가 지원하는 모든 논블로킹(non-blocking) 명령을 실행할 수 있습니다.
redis-cli가 데이터와 상호작용하고 데이터 구조를 렌더링하는 방식에 이미 익숙하다면, 이제 RedisInsight 1.6에서도 정확히 같은 방식으로 렌더링됩니다. 두 환경 사이를 오갈 때에도 익숙함을 느끼실 수 있을 것입니다.

마지막으로, 이스케이프 문자열 입력과 출력도 redis-cli와 동일한 방식으로 렌더링됩니다.
참고: RedisInsight CLI는 현재 일부 블로킹 명령과 표준 스트리밍 응답을 반환하지 않는 일부 명령(MONITOR, SUBSCRIBE, PSUBSCRIBE, SYNC, PSYNC, SCRIPT DEBUG)는 지원하지 않습니다.
멀티라인 쿼리 편집
RediSearch, RedisGraph, RedisTimeSeries용 쿼리를 작성하고 편집하기가 더 쉬워졌습니다. 이제 멀티라인 에디터를 사용해 쿼리를 더 잘 구조화할 수 있습니다. 쿼리가 길거나 이해하기 쉽게 구조화하고 싶을 때 여러 줄이 필요한 경우가 많기 때문에, 쿼리 에디터를 개선하여 여러 줄 사용을 지원하게 되었습니다.

멀티라인 쿼리 에디터를 사용하는 방법은 다음과 같습니다.
- Shift+Enter를 눌러 멀티라인 모드로 진입
- Enter 키를 눌러 새 줄 추가
- Ctrl+Enter를 눌러 쿼리 실행
위/아래 화살표 키로 이전에 실행한 쿼리 기록을 탐색할 때도 쿼리 서식이 그대로 유지되는 것을 확인할 수 있습니다.
보안 연결: TLS 지원
데이터에 대한 무단 접근을 방지하고 데이터베이스와 클라이언트 간 통신을 암호화하려면 Redis Enterprise 데이터베이스에서 TLS(전송 계층 보안) 프로토콜을 활성화할 수 있습니다. (Redis Enterprise 데이터베이스에서 TLS를 구성하는 방법에 대한 자세한 내용은 Redis Enterprise 문서의 "Configuring TLS Authentication and Encryption"을 참고하세요.)
TLS가 활성화되면 Redis Enterprise는 인증을 위해 클라이언트 인증서를 데이터베이스에 전송합니다. TLS가 활성화된 데이터베이스를 구성하려면 아래 스크린샷에 표시된 옵션을 사용하세요.

데이터베이스가 상호 인증을 위해 클라이언트 인증을 요구하는 경우, "Add Redis Database" 양식에서 "Require TLS Client Authentication"을 선택하기만 하면 됩니다. 그러면 아래와 같이 인증서-키 쌍을 제공할 수 있습니다.

Redis 데이터베이스 자동 검색
최신 버전의 RedisInsight에서는 Redis Enterprise Software 또는 Redis Enterprise Cloud 데이터베이스의 연결 정보를 클릭 한 번으로 구성할 수 있습니다. "ADD REDIS DATABASE" 버튼을 클릭하면 아래와 같이 여러 위치에서 데이터베이스를 검색할 수 있습니다.

Redis Enterprise에서는 특정 클러스터의 데이터베이스를 탐색할 수 있습니다. 연결 정보만 입력하면 데이터베이스 목록이 표시되며, 이를 선택하여 RedisInsight에서 구성할 수 있습니다.

Redis Cloud Enterprise(Pro 구독 전용)에서는 설정이 더욱 간편합니다. 계정 키(account key)와 시크릿 키(secret key)만 입력하면 Redis Enterprise Cloud 계정에 연결되어 모든 데이터베이스 목록을 가져올 수 있습니다.


여러 구독을 사용 중이라면 어느 구독에서 데이터베이스를 연결할지 선택할 수 있습니다.

참고: 자세한 내용은 RedisInsight 문서의 "Automatically Discovering Databases" 섹션에서 확인할 수 있습니다.
RedisGraph, RedisTimeSeries, RediSearch 전체 화면 모드
최신 버전의 RedisInsight에는 그래프 또는 RediSearch, RedisTimeSeries의 데이터와 상호작용할 때 사용 공간을 최대화할 수 있는 기능이 통합되었습니다. 대량의 데이터를 탐색해야 할 때 유용하며, 화면 공유나 모델 시연 시에도 활용할 수 있습니다.

기타 주요 개선 사항 및 버그 수정
그 외 주요 개선 사항과 모든 버그 수정 내역은 RedisInsight 문서의 릴리스 노트 섹션에서 확인할 수 있습니다.