docker desktop - container - redis - exec - open in external terminal
접속 후
redis-cli -p [설정한 포트번호]
혹은 cmd 창에서
C:\Users>docker exec -it redis redis-cli -h localhost -p [설정한 포트 번호]
Redis 데이터 구조:
String 타입의 데이터 구조, 텍스트, 직렬화된 객체 등을 저장하는 용도로 자주 사용된다.
SET:
127.0.0.1:6379> set coupon:1 coupon_test //set key value 저장
OK
127.0.0.1:6379> get coupon:1 //get key 조회
"coupon_test"
List
데이터 삽입 순서에 따라 정렬된 문자열 컬렉션 형태
데이터 삽입 명령어
LRANGE
List에서 지정된 범위의 요소를 반환
localhost:6379> LRANGE coupon_list 0 -1
(empty array)
LPUSH
List 의 head(왼쪽) 에 지정된 요소를 추가
localhost:6379> LPUSH coupon_list coupon_1
(integer) 1
localhost:6379> LPUSH coupon_list coupon_2
(integer) 2
localhost:6379> LPUSH coupon_list coupon_3
(integer) 3
여기서 LRANGE 로 조회를 해보면
localhost:6379> LRANGE coupon_list 0 -1
1) "coupon_3"
2) "coupon_2"
3) "coupon_1"
삽입한 값을 볼 수 있다.
순서를 보면 역순이다. 이렇듯 LPUSH는 앞쪽에 데이터를 추가하는 형태이다.
RPUSH
List에 tail(오른쪽)에 지정된 요소를 추가
localhost:6379> RPUSH coupon_list coupon4
(integer) 4
//LRANGE 로 확인을 해보면
localhost:6379> LRANGE coupon_list 0 -1
1) "coupon_3"
2) "coupon_2"
3) "coupon_1"
4) "coupon4"
LPOP
List의 첫 번 째(왼쪽) 요소를 제거하고 반환
localhost:6379> LPOP coupon_list
"coupon_3"
localhost:6379> LRANGE coupon_list 0 -1
1) "coupon_2"
2) "coupon_1"
3) "coupon4"
coupon_3이 제거 된 것을 볼 수 있다.
RPOP
List의 마지막 요소(오른쪽)를 제거하고 반환
localhost:6379> RPOP coupon_list
"coupon4"
localhost:6379> LRANGE coupon_list 0 -1
1) "coupon_2"
2) "coupon_1"
coupon4가 제거되었다.
LLEN
List에 저장된 요소 수를 반환
localhost:6379> LLEN coupon_list
(integer) 2
localhost:6379> LRANGE coupon_list 0 -1
1) "coupon_2"
2) "coupon_1"
LPOS
List에서 일치하는 요소를 찾고 인덱스 반환
localhost:6379> LRANGE coupon_list 0 -1
1) "coupon_2"
2) "coupon_1"
localhost:6379> LPOS coupon_list coupon_1
(integer) 1
localhost:6379> LPOS coupon_list coupon_2
(integer) 0
localhost:6379> LPOS coupon_list coupon_3
(nil)
SET
순서가 지정되지 않은 문자열 컬렉션. 중복 요소가 허용되지 않는다.
List는 중복 요소가 허용된다.
localhost:6379> LPUSH coupon_list coupon_2
(integer) 3
localhost:6379> LRANGE coupon_list 0 -1
1) "coupon_2"
2) "coupon_2"
3) "coupon_1"
SMEMBERS
set에 저장된 모든 요소를 반환
localhost:6379> smembers soupon_set
(empty array)
SADD
set에 멤버를 추가
localhost:6379> SADD coupon_set coupon_1
(integer) 1
localhost:6379> SMEMBERS coupon_set
1) "coupon_1"
동일한 값 추가
localhost:6379> SADD coupon_set coupon_1
(integer) 0 // <- 응답값이 달라졌다.
// 조회를 해보면 추가되지 않은 것을 볼 수 있다.
localhost:6379> SMEMBERS coupon_set
1) "coupon_1"
SISMEMBER
set에 멤버가 포함되었는지 확인
localhost:6379> SISMEMBER coupon_set coupon_1
(integer) 1
//없는 멤버 조회시
localhost:6379> SISMEMBER coupon_set coupon_2
(integer) 0
SCARD
set에 저장된 요소 수를 반환
localhost:6379> SMEMBERS coupon_set
1) "coupon_1"
2) "coupon_2"
3) "coupon_3"
4) "coupon_4"
5) "coupon_5"
localhost:6379> SCARD coupon_set
(integer) 5
SREM
set에 저장된 요소를 제거
localhost:6379> SCARD coupon_set
(integer) 5
localhost:6379> SREM coupon_set coupon_3 // 삭제
(integer) 1
localhost:6379> SCARD coupon_set //요소 수 확인
(integer) 4
localhost:6379> SMEMBERS coupon_set // 모든 요소 반환
1) "coupon_1"
2) "coupon_2"
3) "coupon_4"
4) "coupon_5"
Sorted Set
지정된 스코어에 따라 순서사 지정되는 문자열 컬렉션 형태. 중복 요소가 허용되지 않음
localhost:6379> ZRANGE coupon_sorted_set 0 -1
(empty array)
ZRANGE
Sorted set에 저장된 범위 내 요소를 반환
ZADD
member가 score에 의해 정렬 및 저장. 동일한 score인 경우 사전순 정렬
localhost:6379> ZADD coupon_sorted_set 100 coupon_1
(integer) 1
localhost:6379> ZADD coupon_sorted_set 200 coupon_1
(integer) 0 //중복 coupon_1 은 저장이 안됨.
localhost:6379> ZADD coupon_sorted_set 200 coupon_2
(integer) 1
localhost:6379> ZADD coupon_sorted_set 300 coupon_3
(integer) 1
localhost:6379> ZADD coupon_sorted_set 50 coupon_4
(integer) 1
localhost:6379> ZRANGE coupon_sorted_set 0 -1
1) "coupon_4" //정수에 따라 정렬됨.
2) "coupon_1"
3) "coupon_2"
4) "coupon_3"
ZCARD
해당하는 key 의 요소 수 반환
localhost:6379> ZCARD coupon_sorted_set
(integer) 4
ZPOPMIN
점수가 낮은 순으로 멤버를 제거하고 반환
ZPOPMAX
점수가 높은 순으로 멤버를 제거하고 반환
localhost:6379> ZPOPMIN coupon_sorted_set
1) "coupon_4"
2) "50"
localhost:6379> ZPOPMAX coupon_sorted_set
1) "coupon_3"
2) "300"
//ZPOPMIN, ZPOPMAX 후 가장 작은, 가장 큰 score 가 삭제되었다.
localhost:6379> ZRANGE coupon_sorted_set 0 -1
1) "coupon_1"
2) "coupon_2"
'기타' 카테고리의 다른 글
퀴즈 9회차 (0) | 2024.05.02 |
---|---|
퀴즈 8회 오답노트 (0) | 2024.04.26 |
퀴즈 7회차 (0) | 2024.04.12 |
퀴즈 6회 오답노트 (1) | 2024.03.30 |
퀴즈 오답노트 (0) | 2024.03.22 |