저장
$ SET lecture inflearn-redis

조회
$ GET lecture

삭제
$ DEL lecture

Strings

Strings 타입은 문자열, 숫자, 직렬화된 객체(JSON 문자열) 등을 저장할 수 있습니다.

# single set
$ SET lecture inflearn-redis # 저장

# multi set
$ MSET price 100 language ko # 다수의 값을 저장
$ MGET lecture price language # 다수의 값을 반환

# 변경
$ INCR price # 1 올림
$ INCRBY price 10 # 특정 값을 더함

# json string으로 저장
$ SET ‘{“lecture”: “inflearn-redis”, “language”: “en”}’

# 콜론으로 구분된 키 저장
$ SET inflearn-redis:ko:price 200

Lists

키에 리스트 형식으로 문자열을 저장이 가능

문자열을 연결 리스트로 저장 -> push / pop에 최적화됨 (O(1)) 큐(FIFO) / 스택(FILO) 구현에 사용됨

명령어

스크린샷 2024-03-10 오전 9.56.56.png

LPUSH queue job1 job2 job3

'queue'라는 리스트의 앞쪽(왼쪽)에 'job3', 'job2', 'job1' 순서로 요소를 추가합니다. 
Redis에서 리스트는 양방향으로 작업할 수 있어, LPUSH는 리스트의 왼쪽 끝에 하나 이상의 요소를 푸시합니다. 
명령어 실행 후 리스트는 job3, job2, job1의 순서로 저장됩니다.

RPOP queue

'queue' 리스트의 오른쪽(끝)에서 요소 하나를 제거하고 그 요소를 반환합니다. 
여기서는 'job1'이 제거되고 반환됩니다.

LPUSH stack job1 job2 job3

여기서는 'stack'이라는 새 리스트에 'job3', 'job2', 'job1'을 순서대로 왼쪽에 푸시합니다. 
명령어 실행 후 리스트는 job3, job2, job1으로 저장됩니다.

LPOP stack

이 명령어는 'stack' 리스트의 왼쪽(처음)에서 요소 하나를 제거하고 그 요소를 반환합니다. 
여기서는 'job3'이 제거되고 반환됩니다.

LPUSH queue job1 job2 job3

'queue' 리스트에 다시 'job3', 'job2', 'job1'을 왼쪽에 추가합니다. 
이전에 'job1'이 제거되었으므로, 
이 명령어 실행 후 리스트는 job3, job2, job1, job2, job3가 됩니다.

LRANGE queue -2 -1

이 명령어는 'queue' 리스트에서 오른쪽에서 
두 번째 요소(-2)부터 마지막 요소(-1)까지의 범위의 요소를 반환합니다. 
여기서는 job2, job3이 반환됩니다.

LTRIM queue 0 0

이 명령어는 'queue' 리스트를 트리밍하여 지정된 범위의 요소만 남기고 나머지를 제거합니다. 
여기서 0 0은 리스트의 첫 번째 요소만 남기고 나머지를 모두 제거한다는 의미입니다. 
실행 후 리스트에는 job3만 남습니다.

Sets

Sets : Unique string을 저장하는 정렬되지 않은 집합 Set Operation 사용 가능(e.g. intersection, union, difference)

스크린샷 2024-03-10 오전 9.58.31.png