대부분의 Redis 강의나 책을 보시면 알겠지만 자료 구조(string, list, hash, Set, sorted Set 등)를 설명하고, 수없이 많은 명령어(SET, GET, EXISTS, DEL, HSET 등)를 설명하고 있다. 하지만 레디스를 빨리 익히려면 저기 있는 모든 개념을 다 익힌 뒤에 실습을 하면 늦다. 머릿 속에 한 가지 개념만 들어와도 벅찬데 수십 개의 개념을 머리에 넣으려고 하다보니, 막상 실습 때 아무 것도 기억나지 않는 것이다.
지금은 딱 7가지의 명령어만 배울 것이다. 레디스를 조회 성능을 개선할 때는 이 7가지 명령어만 알아도 충분하다. 그러다 레디스를 쓰면서 추가적으로 필요한 기능이 있으면 그때그때 찾아서 사용하면 된다.
# set [key 이름] [value]
$ set jeongho:name "jeongho park" # 띄어쓰기 해서 저장하려면 쌍따옴표로 묶어주면 됨
$ set jeongho:hobby soccer # 단어 하나면 쌍따옴표 필요 없음
# get [key 이름]
$ get jeongho:name
$ get jeongho:hobby
$ keys *
# del [key 이름]
$ del jeongho:hobby
레디스는 RDBMS와는 다르게 데이터 저장 시 만료시간을 설정할 수 있다. 즉, 영구적으로 데이터를 저장하지 않고 일정 시간이 되면 데이터가 삭제되도록 셋팅할 수 있다. (cache의 성질 때문인 것 같음)
레디스의 특성 상 메모리 공간이 한정 되어 있기 때문에 모든 데이터를 레디스에 저장할 수 없다. 따라서 만료시간(TTL)을 활용해 자주 사용하는 데이터만 레디스에 저장해 놓고 쓰는 식으로 활용한다.
# set [key 이름] [value] ex [만료 시간(초)]
$ set jeongho:pet dog ex 30
# ttl [key 이름]
# 만료 시간이 몇 초 남았는 지 반환
# 키가 없는 경우 -2를 반환
# 키는 존재하지만 만료 시간이 설정돼 있지 않은 경우에는 -1을 반환
$ ttl jeongho:pet
$ ttl jeongho:name
$ ttl pjh:name # 선언한적 없는 key값
$ flushall
