Debian 11에서 Redis 6.0을 설치하고 구성하는 방법
이 페이지에서
- 전제 조건
- Debian 11에 Redis 6 설치
- Redis 서비스 관리
- Redis 구성
- Redis 인스턴스에 연결
- 결론
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를 구현하고 이를 메시지 브로커로 사용하거나 더 빠른 검색을 위해 메모리에 데이터를 캐싱하는 데 사용할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.