저장
$ SET lecture inflearn-redis
조회
$ GET lecture
삭제
$ DEL lecture
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
키에 리스트 형식으로 문자열을 저장이 가능
문자열을 연결 리스트로 저장 -> push / pop에 최적화됨 (O(1)) 큐(FIFO) / 스택(FILO) 구현에 사용됨
명령어
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 : Unique string을 저장하는 정렬되지 않은 집합 Set Operation 사용 가능(e.g. intersection, union, difference)