Remote Dictionary Server
Ref.
[DB] Redis란 무엇일까? 간단하게 알아보기!
Install Redis
메모리에 저장하는 Key-Value(Dictionary) 기반의 NoSQL 인메모리 DBMS.
(캐시 시스템)
mongoDB와 같은 NoSql인데 메모리에서 데이터를 다루기 때문에 성능이 더 좋다.
기본적으로 Redis가 수시로 데이터 세트를 자동으로 저장한다.
예를 들어 데이터에 100개 이상의 변경 사항이 있는 경우 최소 5분 후에 저장한다.
비활성으로 유지하려면 데이터 세트 스냅샷을 강제로 생성할 때마다 save 명령을 수동으로 호출하거나,
shutdown 명령을 사용하여 종료하기 전에 디스크에 데이터를 저장해야 한다.
redis-cli shutdown
Redis 지속성이 어떻게 작동하는지 더 잘 이해하려면 지속성 페이지를 확인바랍니다.
brew install redis
redis-server (Redis Server 실행 -> ForeGround에서의 실행)
redis-cli (Redis Client 접속)
brew services start redis (실행 -> BackGround에서의 실행)
brew services stop redis (중지)
brew services restart redis (재시작)
flushAll (Redis 모든 Key 삭제)
brew services info redis
redis-cli ping
PONG -> 결과
or
redis-cli 로 먼저 진입 후
127.0.0.1:6379> ping
PONG -> 결과
기본적으로 Redis는 모든 인터페이스에 바인딩되며 인증이 전혀 없다. (보안이 없다고 봐야한다.)
bind
Redis가 사용 중인 네트워크 인터페이스에서만 수신 대기하도록 보장하려면 지시문이 설정된 구성 파일을 사용하십시오 . 예를 들어 동일한 컴퓨터에서 로컬로 Redis에 액세스하는 경우 루프백 인터페이스(127.0.0.1)만 사용됩니다.requirepass[AUTH](https://redis.io/commands/auth)
클라이언트가 명령을 사용하여 인증하도록 요구하도록 추가 보안 계층을 추가하려면 옵션을 사용하십시오.보안 없이 인터넷에 노출된 Redis 인스턴스는 악용되기가 매우 간단하므로 위 내용을 이해하고 최소한 방화벽 계층을 적용하십시오 . 방화벽이 설치된 후 redis-cli
외부 호스트에서 연결을 시도하여 인스턴스에 연결할 수 없는지 확인합니다.
약간의 해킹이나 개발을 위해서는 명령줄에서 Redis를 실행하는 것이 좋습니다. 그러나 어느 시점에서는 실제 서버에서 실행할 실제 애플리케이션을 갖게 될 것입니다. 이러한 종류의 사용에는 두 가지 선택 사항이 있습니다.
init 스크립트를 사용하여 올바르게 설치하는 것이 좋습니다.
💡 지원되는 Linux 배포판에 사용 가능한 패키지에는 이미 Redis 서버를 에서 시작하는 기능이 포함되어 있습니다 **`/etc/init`**. 💡 이 섹션의 나머지 부분에서는 **[소스 코드에서 Redis를 설치했다고](https://redis.io/docs/install/install-redis-from-source/)** 가정합니다 . **[대신 Redis Stack을 설치한 경우 기본 init 스크립트를](https://raw.githubusercontent.com/redis/redis/7.2/utils/redis_init_script)** 다운로드 한 후 Redis Stack이 플랫폼에 설치된 방식에 맞게 스크립트와 다음 지침을 모두 수정해야 합니다 . 예를 들어 Ubuntu 20.04 LTS에서는 Redis Stack이 **`/opt/redis-stack`**가 아닌 에 설치되므로 **`/usr/local`**적절하게 조정해야 합니다.Redis 소스 코드와 함께 제공되는 init 스크립트를 사용하여 적절한 설치를 수행하려면 다음 지침을 사용할 수 있습니다 /path/to/redis-stable/utils/redis_init_script
.
Redis 소스를 빌드한 후 아직 실행하지 않은 경우 make install
계속하기 전에 먼저 실행해야 합니다. 기본적으로 에서는 및 바이너리를 에 make install
복사합니다 .redis-serverredis-cli/usr/local/bin
sudo mkdir /etc/redis
sudo mkdir /var/redis
/etc/init.d
. 이 Redis 인스턴스를 실행 중인 포트 이름으로 호출하는 것이 좋습니다. 결과 파일에 0755
권한이 있는지 확인하십시오.sudo cp utils/redis_init_script /etc/init.d/redis_6379
sudo vi /etc/init.d/redis_6379
REDISPORT 변수를 사용 중인 포트로 설정했는지 확인하십시오 . pid 파일 경로와 구성 파일 이름은 모두 포트 번호에 따라 다릅니다.
/etc/redis/
포트 번호를 이름으로 사용하여 복사합니다. 예:sudo cp redis.conf /etc/redis/6379.conf
/var/redis
이 Redis 인스턴스에 대한 데이터 및 작업 디렉터리로 작동할 디렉터리를 내부에 만듭니다 .sudo mkdir /var/redis/6379
/var/run/redis_6379.pid
로 설정하고 필요에 따라 포트를 수정합니다.6379
변경하십시오 . 이 예에서는 기본 포트이므로 필요하지 않습니다/var/log/redis_6379.log
파일/var/redis/6379
로 (매우 중요한 단계!) 설정해야한다.sudo update-rc.d redis_6379 defaults
이제 다음을 사용하여 인스턴스를 실행할 수 있습니다.
sudo /etc/init.d/redis_6379 start
모든 것이 예상대로 작동하는지 확인하세요.
redis-cli [PING](https://redis.io/commands/ping)
명령을 사용하여 세션 내에서 인스턴스를 ping해 보세요.redis-cli save/var/redis/6379/dump.rdb
로 테스트 저장을 수행하고 덤프 파일이 에 올바르게 저장되었는지 확인./var/log/redis_6379.log
파일에 로깅 중인지 확인하세요.