웹사이트 검색

Debian 11에서 Redis 6.0을 설치하고 구성하는 방법


이 페이지에서

  1. 전제 조건
  2. Debian 11에 Redis 6 설치
  3. Redis 서비스 관리
  4. Redis 구성
  5. Redis 인스턴스에 연결
  6. 결론

Redis는 메시지 브로커 및 데이터베이스 캐시로 사용되는 무료 오픈 소스 메모리 내 데이터 구조 저장소입니다. Apache Kafka와 같은 스트리밍 솔루션과 함께 사용하여 밀리초 미만의 대기 시간으로 실시간 데이터를 처리하고 분석할 수 있습니다. Redis는 해시, 문자열, 하이퍼로그로그, 비트맵, 지형 공간 인덱스, 정렬된 목록 등을 포함한 많은 데이터 구조를 지원합니다. 광범위한 언어 지원, 고가용성 및 자동 분할로 인해 널리 사용됩니다.

이 게시물에서는 Debian 11에서 Redis 6를 설치하고 구성하는 방법을 보여줍니다.

전제 조건

  • Debian 11을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

Debian 11에 Redis 6 설치

최신 버전의 Redis는 Debian 11 기본 리포지토리에 포함되어 있지 않습니다. 따라서 Redis 공식 리포지토리에서 설치해야 합니다.

먼저 다음 명령을 사용하여 필요한 모든 종속 항목을 설치합니다.

apt-get install wget curl gnupg -y

그런 다음 다음 명령을 사용하여 GPG 키를 다운로드하고 추가합니다.

curl https://packages.redis.io/gpg | apt-key add -

다음으로 다음 명령을 사용하여 Redis 공식 리포지토리를 추가합니다.

echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list

다음으로 다음 명령을 사용하여 리포지토리 캐시를 업데이트하고 Redis를 설치합니다.

apt-get update -y
apt-get install redis-server -y

Redis가 설치되면 다음 명령을 사용하여 Redis 설치를 확인합니다.

apt-cache policy redis-server

다음 출력에 Redis 패키지 정보가 표시되어야 합니다.

redis-server:
  Installed: 6:6.2.6-3rl1~bullseye1
  Candidate: 6:6.2.6-3rl1~bullseye1
  Version table:
 *** 6:6.2.6-3rl1~bullseye1 500
        500 https://packages.redis.io/deb bullseye/main amd64 Packages
        100 /var/lib/dpkg/status
     6:6.0.16-3rl1~bullseye1 500
        500 https://packages.redis.io/deb bullseye/main amd64 Packages
     5:6.0.16-1+deb11u1 500
        500 http://security.debian.org/debian-security bullseye-security/updates/main amd64 Packages
     5:6.0.15-1 500
        500 http://debian.gtisc.gatech.edu/debian bullseye/main amd64 Packages

Redis 서비스 관리

systemd를 사용하여 Redis 서비스를 관리할 수 있습니다.

Redis 서비스를 시작하려면 다음 명령을 실행합니다.

systemctl start redis-server

Redis 서비스가 시스템 재부팅 시 시작되도록 활성화하려면 다음 명령을 실행합니다.

systemctl enable redis-server

Redis 서비스의 상태를 확인하려면 다음 명령을 실행합니다.

systemctl status redis-server

다음 출력이 표시되어야 합니다.

? redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-28 07:15:00 UTC; 19s ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
   Main PID: 9079 (redis-server)
     Status: "Ready to accept connections"
      Tasks: 5 (limit: 4679)
     Memory: 7.2M
        CPU: 82ms
     CGroup: /system.slice/redis-server.service
             ??9079 /usr/bin/redis-server 127.0.0.1:6379

Nov 28 07:15:00 debian11 systemd[1]: Starting Advanced key-value store...
Nov 28 07:15:00 debian11 systemd[1]: Started Advanced key-value store.

기본적으로 Redis는 포트 6379에서 수신 대기합니다. 다음 명령으로 확인할 수 있습니다.

ss -antpl | grep redis

다음과 같은 결과가 표시됩니다.

LISTEN 0      511        127.0.0.1:6379      0.0.0.0:*    users:(("redis-server",pid=9079,fd=6))
LISTEN 0      511            [::1]:6379         [::]:*    users:(("redis-server",pid=9079,fd=7))

완료되면 다음 단계로 진행할 수 있습니다.

Redis 구성

기본적으로 Redis는 localhost를 수신합니다. 원격 호스트에서 Redis에 연결하려면 원격 연결을 위해 Redis를 허용해야 합니다.

이렇게 하려면 즐겨 사용하는 편집기를 사용하여 Redis 구성 파일을 편집합니다.

nano /etc/redis/redis.conf

다음 줄을 주석 처리합니다.

#bind 127.0.0.1 -::1

다음으로 아래와 같이 Redis 비밀번호를 설정합니다.

requirepass securepassword

다음으로 다음 줄을 변경합니다.

appendonly yes
appendfilename "appendonly.aof"

파일을 저장하고 닫은 다음 Redis 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart redis-server

완료되면 다음 단계로 진행할 수 있습니다.

Redis 인스턴스에 연결

redis-cli 명령줄 유틸리티를 사용하여 로컬 또는 원격 시스템에서 Redis 서버에 연결할 수 있습니다.

다음 명령을 실행하여 Redis 인스턴스에 연결합니다.

redis-cli

연결되면 다음과 같은 셸이 표시됩니다.

127.0.0.1:6379>

이제 아래와 같이 비밀번호를 사용하여 Redis를 인증합니다.

127.0.0.1:6379> auth securepassword

그런 다음 다음 명령을 사용하여 서버를 확인합니다.

127.0.0.1:6379> INFO Server

다음 정보를 얻을 수 있습니다.

# Server
redis_version:6.2.6
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:557672d61c1e18ba
redis_mode:standalone
os:Linux 5.10.0-8-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:10.2.1
process_id:10828
process_supervised:systemd
run_id:b5ce185f0d4783dd3ddab8cabd38b0ee0263637b
tcp_port:6379
server_time_usec:1638085497530445
uptime_in_seconds:32
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:10695545
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf
io_threads_active:0

이제 다음 명령을 사용하여 Redis 인스턴스를 종료합니다.

127.0.0.1:6379> exit

Redis를 벤치마킹하여 성능을 테스트하는 것이 좋습니다.

다음 명령을 실행하여 총 2k 요청에 대해 10개의 병렬 연결로 Redis를 테스트합니다.

redis-benchmark -h 127.0.0.1 -p 6379 -n 2000 -c 10 -a securepassword

다음과 같은 결과가 표시됩니다.

====== PING_INLINE ======                                         
  2000 requests completed in 0.05 seconds
  10 parallel clients
  3 bytes payload
  keep alive: 1
  host configuration "save": 3600 1 300 100 60 10000
  host configuration "appendonly": no
  multi-thread: no

Latency by percentile distribution:
0.000% <= 0.071 milliseconds (cumulative count 1)
50.000% <= 0.159 milliseconds (cumulative count 1090)
75.000% <= 0.207 milliseconds (cumulative count 1507)
87.500% <= 0.303 milliseconds (cumulative count 1769)
93.750% <= 0.359 milliseconds (cumulative count 1880)
96.875% <= 0.415 milliseconds (cumulative count 1942)
98.438% <= 0.455 milliseconds (cumulative count 1971)
99.219% <= 0.495 milliseconds (cumulative count 1985)
99.609% <= 0.791 milliseconds (cumulative count 1993)
99.805% <= 0.919 milliseconds (cumulative count 1997)
99.902% <= 1.031 milliseconds (cumulative count 1999)
99.951% <= 1.103 milliseconds (cumulative count 2000)
100.000% <= 1.103 milliseconds (cumulative count 2000)

Summary:
  throughput summary: 35714.29 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        0.239     0.096     0.231     0.343     0.439     0.727

더 많은 명령줄 옵션을 보려면 다음 명령을 실행하십시오.

redis-benchmark --help

결론

위 게시물에서는 Debian 11 서버에 Redis 6를 설치하고 구성하는 방법에 대해 설명했습니다. 이제 프로덕션 환경에서 Redis를 구현하고 이를 메시지 브로커로 사용하거나 더 빠른 검색을 위해 메모리에 데이터를 캐싱하는 데 사용할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.