| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- CTE
- 정처기
- Github Actions
- sub-query
- SubQuery
- Join
- DDL
- 보안 그룹
- SQL
- PostgreSQL
- databse
- NoSQL
- SQLite
- 정보처리기사
- VPC
- DevOps
- 탄력적 ip
- mongoDB
- dml
- index
- database
- 정규화
- MySQL
- springboot
- Transaction
- db
- aws
- redis
- ASW
- EC2
- Today
- Total
sellen
Redis - Set, Sorted Set, Hash 본문

💡 NomadCoder - SQL 마스터클래스 강의를 듣고 정리한 글입니다.
아래의 링크에 SQL 학습에 필요한 데이터가 존재합니다.
https://nomadcoders.co/sql-masterclass
SQL 마스터클래스 – 노마드 코더 Nomad Coders
SQL을 정복하기 위한 단 하나의 강의
nomadcoders.co
아래의 링크에서 다양한 명령어를 확인하실 수 있습니다.
https://redis.io/docs/latest/commands
Commands
Redis Cloud Fully managed and integrated with Google Cloud, Azure, and AWS.
redis.io
Set
list와 비슷하나 정렬되어있지 않고 중복된 value를 허용하지 않는다.
리스트와 똑같이 4,294,967,295 만큼 저장할 수 있다.
Create
같은 값을 입력할 경우 0 (false)으로 출력된다.
SADD {key} {value} {value} ...
SADD post:1:like user:1
Read
SMEMBERS
해당 Set에 저장된 value 조회
SMEMBERS {key}
SMEMBERS post:1:like
SISMEMBER
해당 Set에 value가 있는지 조회
SISMEMBER {key} {value}
SISMEMBER post:1:like user:1
SISMEMBER post:1:like user:3 # user:3은 없기 때문에 0으로 출력된다.
SCARD
해당 Set에 value가 몇 개 있는지 출력
SCARD post:1:like
집합 연산
SINTER
A ∩ B
여러 Set에서 공통된 value 출력
SINTER {key} {key}
SINTER post:1:like post:2:like
SDIFF
A - B
Set A와 Set B가 있을 때 A에는 있지만 B에는 없는 value 출력
SDIFF {key} {key}
SDIFF post:1:like post:2:like
SUNION
A ∪ B
Set A와 Set B의 합집합 출력
SUNION {key} {key}
SUNION post:1:like post:2:like
Delete
SREM {key} {value}
SREM post:2:like user:1
Sorted Set
Set과 같으나 value에 점수를 부여할 수 있고 부여된 점수에 따라 정렬된다.
Create
ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member
| 구분 | 설명 |
| NX | 이미 존재하는 멤버는 무시하고 존재하지 않는 멤버만 추가 |
| XX | 이미 존재하는 멤버에 대해서만 점수 업데이트 |
| GT | 기존 점수보다 클 때만 점수 업데이트 |
| LT | 기존 점수보다 작을 때만 점수 업데이트 |
| CH | - CH가 없을 경우 실제 추가된 요소의 개수만 반환한다. - CH가 있을 경우 변경된 요소의 개수도 포함하여 반환한다. |
| INCR | 지정한 멤버의 점수에 score 만큼 더한다. (이때, 멤버는 1개만 선택해야 합니다.) |
ZADD scores 1 user:1 2 user:2 10 user:3 6 user:4
Read
ZRANGE key start stop [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
| 구분 | 설명 |
|
| start stop | start 부터 stop까지 조회 (기본적으로 score 기준 오름차순 정렬) |
|
| BYSCORE | 인덱스 대신 score를 기준으로 조회 | |
| ZRANGE set 10 20 BYSCORE | score가 10~20인 요소 조회 | |
| BYLEX | score 대신 멤버 기준으로 조회 | |
| ZRANGE myset [a (b BYLEX | a 이상 b 미만 | |
| REV | 내림차순 정렬 | |
| LIMIT offset count | 페이징 | |
| LIMMIT 2 3 | 인덱스 2부터 3개 | |
| WITHSCORES | 멤버에 score도 같이 출력 | |
- [x → x 이상
- (x → x 초과
- +inf, inf → 무한대
ZRANGE scores1 0 -1
ZRANGE scores 0 -1 WITHSCORES # 멤버와 점수도 같이 출력
ZREVRANGE
역순으로 출력
ZREVRANGE {key} {start} {end} [WITHSCORES]
ZREVRANGE scores 0 -1 WITHSCORES
ZRANGEBYSCORE
특정 범위 내 member 출력
ZRANGEBYSCORE {key} {min} {max} [WITHSCORES] [LIMIT offset count]
ZRANGEBYSCORE scores 7 11
ZRANK
특정 member의 순위 출력
ZRANK {key} {member} [WITHSCORE]
ZRANK scores user:1
ZSCORE
특정 member의 점수 출력
ZSCORE {key} {member}
ZSCORE scores user:3
ZCOUNT
특정 범위 내의 member 수 출력
ZCOUNT {key} start end
ZCOUNT scores 5 10
Update
ZADD
ZADD를 통해 기존의 값을 업데이트할 수 있다.
ZADD {key} {score} {member}
ZADD scores 3 user:2
ZINCRBY
ZINCRBY를 통해 특정 member의 값을 원하는 값만큼 증가시킬 수 있다.
ZINCRBY {key} {increment} {member}
ZINCRBY scores 1 user:4
Delete
ZREM {key} {member} {member} ...
ZREM scores user:3
Hash
Redis의 Hash는 중첩 Hash를 지원하지 않는다.
Create
HSET {key} {field} {value} {field} {value} ...
HSET player:1 name nico xp 0 hp 100
Read
특정 field 조회
HGET {key} {field}
HGET player:1 name # nico
HGET player:1 xp # 0
여러 field 조회
HMGET {key} {field} {field} ...
HMGET player:1 xp hp name
Hash의 모든 field 조회
리스트를 출력하는 형식으로 출력된다.
HGETALL {key}
HGETALL player:1
특정 field가 존재하는지 조회
HEXISTS {key} {field}
HEXISTS player:1 xp # 1
Update
HSET
특정 field의 값을 value로 변경한다.
HSET {key} {field} {value} {field} {value} ...
HSET player:1 name Nico
HINCRBY
해당 Hash의 field 값을 value만큼 더한다.
HINCRBY {key} {field} {value}
HINCRBY player:1 xp 10
HINCRBY player:1 hp -10
Delete
HDEL {key} {field} {value} {field} {value} ...
HDEL player:1 xp
'DataBase > NoSQL' 카테고리의 다른 글
| Redis - String, List (1) | 2025.07.23 |
|---|---|
| Redis 설치 (3) | 2025.07.23 |
| MongoDB - Aggregation (0) | 2025.07.23 |
| MongoDB CRUD - 2 (1) | 2025.07.23 |
| MongoDB CRUD - 1 (0) | 2025.07.23 |