Redis는 다양한 자료구조를 갖는 장점이 있다.
String, List, Set, Sorted Set, Hash, Geospatial, Bitmap 등 다양한 타입을 지원한다.
아래 명령어는 대표적으로 자주 사용되는 명령어이다,
SET: SET, SETNX
GET: GET, MGET
INCR, INCR, DECR, INCRBY, DECRBY
docker를 이용해서 redis를 사용
docker pull redis 6.2
docker run --rm -it -d -p 6379:6379 redis:6.2
docker ps
docker exec -it Container ID redis-cli
SET
keyvalue
GETkey
MSET 여러개의 데이터를 한 번에 저장하는 명령어
MGET 여러개의 데이터를 한 번에 조회하는 명령어
- 기존 SET, GET보다 효율적이다.
MSET
keyvaluekeyvalue...
MGETkeykeykey...
SETNX:
지정한 Key가 없을 경우에만 저장을 한다.사용법: SETNX
keyvalue
동일한 key를 저장하려고하면 위의 이미지 처럼 0을 반환한다.(저장 안됨)
- INC, DEC 명령어를 통해 즉각적으로 증가된 값을 반환받을 수 있다.
- INC, DEC 대신 숫자를 원자적으로 늘리고 줄이기 명령어를 위해서는 GET, SET을 사용하여 두 가지 단계를 거쳐야한다.
아래 명령어는 대표적으로 자주 사용되는 명령어이다,
SET(PUSH):
LPUSH,RPUSH
POP:LPOP,RPOP
GET:LLEN,LRANGE
REM:LTRIM
Block command를 지원한다. 값이 채워질때까지 대기한다.(sync)
BLOCK:BLPOP,BRPOP
SET:
SADD
GET:SCAD,SMEMBERS,SISMEMBER
REM:SREM
집합연산:SINTER
SMEMBERS: 모든 key 정보를 조회
SISMEMBER: 특정 키에 멤버가 포함되어있는지 확인
SINTER: 두 개의 키에서 중복되는 값을 찾을 수 있다.
SREM: key와 멤버를 입력해서 제거할 수 있다.
field-value를 쌍으로 저장할 수 있는 자료구조이다.
SET:
HSET
GET:HGET,HMGET,HGETALL
REM:HDEL
INCR:HINCRBY
HGETALL을 통해 전체 key를 순회하면서 조회한다.
HINCRBY 명령어로 특정 key의 field의 값을 증가시킬 수 있다.
SET: ZADD
GET: ZRANGE, ZCARD, ZRANK, ZREVRANK
REM: ZREM
INCR: ZINCRBY
+inf 으로 인덱스를 전체를 설정할 수 있다.
0 +inf: 처음부터 끝까지
+inf 0: 끝에서 처음까지
REV: 내림차순으로 조회