Redis의 기본 키-값(Key-Value) 작업

RedisBeginner
지금 연습하기

소개

이 실습에서는 Redis의 기본적인 키-값 작업에 대해 배웁니다. redis-cli 명령줄 인터페이스를 사용하여 Redis 서버와 상호 작용하며, 키 설정, 값 검색, 존재 여부 확인, 삭제, 만료 시간 설정과 같은 기본적인 작업을 수행합니다. 이 실습을 마칠 때쯤이면 Redis를 간단한 데이터 저장소로 사용하는 방법에 대해 확실히 이해하게 될 것입니다.

키-값 쌍 설정 및 검색

이번 단계에서는 Redis에서 키-값 쌍을 설정하고 검색하는 핵심 작업에 집중합니다. 이는 Redis를 데이터 저장소로 사용하기 위한 기초입니다.

Redis는 사전(dictionary)과 유사하게 데이터를 키-값 쌍으로 저장합니다. 키는 고유 식별자이며, 값은 해당 키와 연결된 데이터입니다.

  1. Redis 연결:

    LabEx VM에서 터미널을 엽니다. 이미 ~/project 디렉토리에 있을 것입니다. redis-cli 명령을 사용하여 Redis 서버에 연결합니다.

    redis-cli
    

    Redis 프롬프트인 127.0.0.1:6379>가 표시되면 Redis 서버에 성공적으로 연결된 것입니다.

  2. 키-값 쌍 설정:

    SET 명령을 사용하여 키-값 쌍을 설정해 보겠습니다. mykey라는 키에 myvalue라는 값을 설정합니다.

    SET mykey myvalue
    

    Redis는 다음과 같이 응답합니다.

    OK
    

    이는 키-값 쌍이 성공적으로 저장되었음을 의미합니다.

  3. 키의 값 검색:

    키와 연결된 값을 검색하려면 GET 명령을 사용합니다. mykey의 값을 검색해 보겠습니다.

    GET mykey
    

    Redis는 다음과 같이 응답합니다.

    "myvalue"
    

    mykey와 연결된 값을 성공적으로 검색했음을 확인할 수 있습니다.

  4. 다른 키-값 쌍 설정:

    다른 키와 값을 사용하여 또 다른 키-값 쌍을 설정해 보겠습니다. 이번에는 user:1001을 키로, John을 값으로 사용합니다.

    SET user:1001 John
    

    Redis는 다음과 같이 응답합니다.

    OK
    
  5. 새로운 키의 값 검색:

    이제 user:1001 키의 값을 검색해 보겠습니다.

    GET user:1001
    

    Redis는 다음과 같이 응답합니다.

    "John"
    

    이제 Redis에서 키-값 쌍을 성공적으로 설정하고 검색할 수 있게 되었습니다.

  6. Redis CLI 종료:

    명령어가 올바르게 기록되도록 각 단계가 끝날 때마다 Redis CLI를 종료하는 것이 좋습니다. 다음을 입력하세요.

    exit
    

    Redis CLI 세션 스크린샷

키 존재 여부 확인

이번 단계에서는 EXISTS 명령을 사용하여 Redis에 키가 존재하는지 확인하는 방법을 배웁니다. 이는 값을 검색하거나 다른 작업을 수행하기 전에 키가 설정되어 있는지 확인하는 데 유용합니다.

  1. Redis 연결:

    redis-cli 명령을 사용하여 Redis 서버에 연결합니다.

    redis-cli
    

    Redis 프롬프트 127.0.0.1:6379>가 표시되어야 합니다.

  2. 기존 키의 존재 여부 확인:

    이전 단계에서 mykey를 설정했습니다. EXISTS 명령을 사용하여 이 키가 존재하는지 확인해 보겠습니다.

    EXISTS mykey
    

    Redis는 다음과 같이 응답합니다.

    (integer) 1
    

    응답이 1이면 mykey가 Redis에 존재한다는 뜻입니다.

  3. 존재하지 않는 키의 존재 여부 확인:

    이제 설정하지 않은 키가 존재하는지 확인해 보겠습니다. 예를 들어 nonexistentkey라는 키를 확인해 봅니다.

    EXISTS nonexistentkey
    

    Redis는 다음과 같이 응답합니다.

    (integer) 0
    

    응답이 0이면 nonexistentkey가 Redis에 존재하지 않는다는 뜻입니다.

  4. Redis CLI 종료:

    명령어가 기록되도록 Redis CLI를 종료합니다.

    exit
    

키 삭제

이번 단계에서는 DEL 명령을 사용하여 Redis에서 키를 삭제하는 방법을 배웁니다. 이는 데이터를 관리하고 오래되었거나 불필요한 항목을 제거하는 데 필수적입니다.

  1. Redis 연결:

    redis-cli 명령을 사용하여 Redis 서버에 연결합니다.

    redis-cli
    

    Redis 프롬프트 127.0.0.1:6379>가 표시되어야 합니다.

  2. 기존 키 삭제:

    이전 단계에서 설정한 mykeyDEL 명령으로 삭제해 보겠습니다.

    DEL mykey
    

    Redis는 다음과 같이 응답합니다.

    (integer) 1
    

    응답 (integer) 1은 하나의 키가 성공적으로 삭제되었음을 의미합니다.

  3. 존재하지 않는 키 삭제:

    존재하지 않는 키인 nonexistentkey를 삭제해 보겠습니다.

    DEL nonexistentkey
    

    Redis는 다음과 같이 응답합니다.

    (integer) 0
    

    응답 (integer) 0은 삭제된 키가 없음을 의미합니다(키가 존재하지 않았기 때문입니다).

  4. 여러 키 삭제:

    DEL 명령을 사용하면 여러 키를 한 번에 삭제할 수도 있습니다. 앞서 생성한 user:1001 키를 삭제하고, 동시에 nonexistentkey도 다시 삭제해 보겠습니다.

    DEL user:1001 nonexistentkey
    

    Redis는 다음과 같이 응답합니다.

    (integer) 1
    

    응답 (integer) 1은 하나의 키(user:1001)가 성공적으로 삭제되었으며, nonexistentkey는 존재하지 않아 삭제 시도가 무시되었음을 의미합니다.

  5. Redis CLI 종료:

    Redis CLI를 종료합니다.

    exit
    

키 만료 시간 설정

이번 단계에서는 EXPIRE 명령과 SET 명령의 EX 매개변수를 사용하여 Redis 키에 만료 시간을 설정하는 방법을 배웁니다. 이는 세션 데이터나 임시 캐시처럼 일정 시간이 지나면 자동으로 데이터를 제거해야 할 때 유용합니다.

  1. Redis 연결:

    redis-cli 명령을 사용하여 Redis 서버에 연결합니다.

    redis-cli
    

    Redis 프롬프트 127.0.0.1:6379>가 표시되어야 합니다.

  2. 만료 시간이 포함된 키-값 쌍 설정 (방법 1: EX 매개변수 사용):

    Redis에서는 EX 매개변수를 사용하여 한 번의 명령으로 키-값 쌍과 만료 시간을 설정할 수 있습니다. sessionkey라는 키에 sessionvalue라는 값을 넣고 15초의 만료 시간을 설정해 보겠습니다.

    SET sessionkey sessionvalue EX 15
    

    Redis는 다음과 같이 응답합니다.

    OK
    

    이 명령은 키-값 쌍과 만료 시간을 한 번에 설정하므로 별도의 명령을 사용하는 것보다 효율적입니다.

  3. EX로 설정된 키의 TTL 확인:

    sessionkey의 남은 유효 시간(TTL, Time To Live)을 확인해 보겠습니다.

    TTL sessionkey
    

    Redis는 키가 만료되기까지 남은 시간(초 단위)을 반환합니다(예: (integer) 14). 키를 설정한 후 시간이 지났기 때문에 15보다 약간 작은 값이 표시됩니다.

  4. 키-값 쌍 설정 (방법 2: EXPIRE 명령 별도 사용):

    또는 키-값 쌍을 먼저 설정한 후 나중에 만료 시간을 따로 설정할 수도 있습니다. tempkey라는 키에 tempvalue라는 값을 설정합니다.

    SET tempkey tempvalue
    

    Redis는 다음과 같이 응답합니다.

    OK
    
  5. EXPIRE 명령을 사용하여 만료 시간 설정:

    이제 EXPIRE 명령을 사용하여 tempkey에 10초의 만료 시간을 설정해 보겠습니다.

    EXPIRE tempkey 10
    

    Redis는 다음과 같이 응답합니다.

    (integer) 1
    

    응답 (integer) 1은 만료 시간이 성공적으로 설정되었음을 의미합니다.

  6. 남은 유효 시간(TTL) 확인:

    tempkey의 남은 유효 시간을 확인하려면 TTL 명령을 사용합니다.

    TTL tempkey
    

    Redis는 키가 만료되기까지 남은 시간(초 단위)을 반환합니다(예: (integer) 9). 만료 시간을 설정한 후 시간이 지났기 때문에 10보다 약간 작은 값이 표시될 수 있습니다. 키가 존재하지 않거나 만료 시간이 설정되지 않은 경우 TTL은 각각 -2 또는 -1을 반환합니다.

  7. Redis CLI 종료:

    Redis CLI를 종료합니다.

    exit
    

요약

이번 실습에서는 redis-cli 명령줄 인터페이스를 사용하여 Redis의 기본적인 키-값 작업을 배웠습니다. Redis 서버에 연결하고 SET 명령을 사용하여 데이터를 키-값 쌍으로 저장하는 방법을 익혔으며, GET 명령을 사용하여 값을 검색하는 연습도 했습니다. 또한 EXISTS 명령으로 키의 존재 여부를 확인하고, DEL 명령으로 키를 삭제하며, SET 명령의 EX 매개변수와 EXPIRE 명령을 사용하여 키에 만료 시간을 설정하는 방법도 배웠습니다. 특히 EX 매개변수를 사용하는 SET 명령은 키-값 쌍과 만료 시간을 한 번의 효율적인 작업으로 설정할 수 있어 매우 유용합니다. 이러한 작업들은 Redis를 간단하고 효율적인 데이터 저장소로 활용하기 위한 핵심 요소입니다.