실습환경은 도커환경에서 redis를 띄어져 있는 상태라고 가정하에 실습을 진행합니다.
docker가 설치가 되어 있다는 가정하에 아래 스크립트를 터미널에 입력하면 됩니다. 혹시나 docker가 설치되어 있지 않다면 redis 공식홈페이지 에서 다운로드 하면 됩니다.😀
docker run -d -p 6379:6379 redis 또는
docker run -d --name reids_study -p 6379:6379 redis
// -d: 백그라운드 환경에서 실행
// -p: port mapping
// --name: container 이름설정
docker ps // redis container id확인
docker exec -it {container id} /bin/bash
// 접속이후
root@ce4a8669f2eb:/data# redis-cli
메모리 기반의 “키-값” 구조 데이터 관리 시스템이며, 모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 비 관계형 데이터베이스이다.
레디스는 크게 5가지< String, Set, Sorted Set, Hash, List >의 데이터 형식을 지원한다.
캐시 및 데이터 스토어에 유리.
그럼 redis-cli을 이용하여 실습.
127.0.0.1:6379> set name hyunjin # set을 이용하여 key, value형식으로 저장이 가능
OK # 응답값
127.0.0.1:6379> get name # get { key } 형식으로 key에 해당하는 value을 가져 올 수 있음.
"hyunjin"
127.0.0.1:6379> expire name 10 # expire을 이용하여 해당 키의 만료시간을 설정할 수 있음.(10초)
(integer) 1
127.0.0.1:6379> ttl name # ttl을 이용하여 해당 키의 만료시간을 알아 낼 수 있음(7초남음)
(integer) 7
127.0.0.1:6379> ttl name # ttl을 이용하여 해당 키의 만료시간을 알아 낼 수 있음(4남음)
(integer) 4
127.0.0.1:6379> ttl name # 만료됨.
(integer) -2
127.0.0.1:6379> get name # 만료된 key값 호출
(nil)
127.0.0.1:6379> set attr handsome
OK
127.0.0.1:6379> keys * # keys * 를 통하여 모든 key값을 조회 가능
1) "attr"
127.0.0.1:6379> keys *a* # SQL Like문과 같이 a가 포함된 key를 조회
1) "attr"
127.0.0.1:6379> keys *c*
(empty array)
127.0.0.1:6379> lpush number_lists 3 #lpush를 이용하여 list에 data 삽입
(integer) 1
127.0.0.1:6379> lrange number_lists 0 -1 # lrange명령어를 통해 값 조회가능 lrange {keyname} start stop -1은 제일 마지막 원소
1) "3"
127.0.0.1:6379> lpush number_lists 2
(integer) 2
127.0.0.1:6379> lpush number_lists 1
(integer) 3
127.0.0.1:6379> lrange number_lists 0 -1
1) "1"
2) "2"
3) "3"
127.0.0.1:6379> lrange number_lists 0 1 # 0 ~ 1번째 index조회
1) "1"
2) "2"
127.0.0.1:6379> rpush number_lists 4
(integer) 4
127.0.0.1:6379> lrange number_lists 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
# lpush 왼쪽에 data를 삽입
# rpush 오른쪽에 data를 삽입
127.0.0.1:6379> sadd number_sets 1 # 데이터 삽입
(integer) 1
127.0.0.1:6379> sadd number_sets 2 # 데이터 삽입
(integer) 1
127.0.0.1:6379> smembers number_sets # 조회
1) "1"
2) "2"
127.0.0.1:6379> sadd number_sets 3 #데이터 삽입
(integer) 1
127.0.0.1:6379> sadd number_sets 3 #데이터 삽입
(integer) 0
127.0.0.1:6379> smembers number_sets
1) "1"
2) "2"
3) "3"
# set은 중복이 허용안됨
del keyname
을 통해서 해당 키를 지울수도 있음.
간단히 이정도만 알아보고 다음글은 express, redis실습(캐시)예정