대부분의 Redis 강의나 책을 보시면 알겠지만 자료 구조(string, list, hash, Set, sorted Set 등)를 설명하고, 수없이 많은 명령어(SET, GET, EXISTS, DEL, HSET 등)를 설명하고 있다. 하지만 레디스를 빨리 익히려면 저기 있는 모든 개념을 다 익힌 뒤에 실습을 하면 늦다. 머릿 속에 한 가지 개념만 들어와도 벅찬데 수십개의 개념을 머리에 넣으려고 하다보니, 막상 실습 때 아무 것도 기억나지 않는 것이다.
따라서 오리엔테이션 때 얘기했던 ‘파레토의 법칙’에 입각해서 딱 필요한 개념만 배우고 바로 실습을 통해 레디스를 써먹어 볼 것이다. 장담컨데 이렇게 레디스를 학습하면 정말 빠르게 익힐 수 있다.
이 강의에서는 딱 7가지의 명령어만 배울 것이다. 레디스를 조회 성능을 개선할 때는 이 7가지 명령어만 알아도 충분하다. 그러다 레디스를 쓰면서 추가적으로 필요한 기능이 있으면 그때그때 찾아서 사용하면 된다.
✅ 데이터(Key, Value) 저장하기
# set [key 이름] [value]
$ set jaeseong:name "jaeseong park" # 띄워쓰기 해서 저장하려면 쌍따옴표로 묶어주면 됨
$ set jaeseong:hobby soccer
✅ 데이터 조회하기 (Key로 Value 값 조회하기)
# get [key 이름]
$ get jaeseong:name
$ get jaeseong:hobby
$ get pjs:name # 없는 데이터를 조회할 경우 (nil)이라고 출력됨
✅ 저장된 모든 key 조회하기
$ keys *
✅ 데이터 삭제하기 (Key로 데이터 삭제하기)
# del [key 이름]
$ del jaeseong:hobby
$ get jaeseong:hobby # 삭제됐는 지 확인
✅ 데이터 저장 시 만료시간(TTL) 정하기
레디스는 RDBMS와는 다르게 데이터 저장 시 만료시간을 설정할 수 있다. 즉, 영구적으로 데이터를 저장하지 않고 일정 시간이 되면 데이터가 삭제되도록 셋팅할 수 있다.
레디스의 특성상 메모리 공간이 한정 되어 있기 때문에 모든 데이터를 레디스에 저장할 수 없다. 따라서 만료시간(TTL)을 활용해 자주 사용하는 데이터만 레디스에 저장해놓고 쓰는 식으로 활용한다.
# set [key 이름] [value] ex [만료 시간(초)]
$ set jaeseong:pet dog ex 30
✅ 만료시간(TTL) 확인하기
# ttl [key 이름]
# 만료 시간이 몇 초 남았는 지 반환
# 키가 없는 경우 -2를 반환
# 키는 존재하지만 만료 시간이 설정돼 있지 않은 경우에는 -1을 반환
$ ttl jaeseong:pet
$ ttl jaeseong:name
$ ttl pjs:name