티스토리 뷰

Redis 의 value 데이터 종류

String

 기본적인 String은 value안에 들어간다. 

Get/Set

Set으로 값을 입력하고 get으로 출력한다.

SETNX : 해당 key 값이 존재 하지 않을경우 value값이 넣어지고 아니면 0 출력 (SETNX KEY VALUE)

del : key입력하면 삭제

EX seconds : 시간초 지나면 지워짐

PX milliseconds : 똑같이 milliseconds 단위이며 지워짐

NX/XX : key값이 없으면 / 있으면 

hash

Key 안에 key/value 형태가 여러개있는 구조이다.

HGET/HSET

hash는 hset으로 입력 hget으로 출력

hmget : 여러개의 value를 조회 할 수 있다

hvals : key에 모든 value를 조회 한다.

hkeys : key의 모든 filed를 조회

hsetnx : filed값이 없으면 입력

hdel : field를 입력하면 삭제 

List

key 하나에 List값이 들어있다.

LPUSH나 RPUSH로 양방향으로 삽입이 가능하며 

LRANGE를 사용하여 key값의 처음과 끝을 지정하여  출력을 한다.

LPUSHX, RPUSHX를 사용하면 키가 있을 경우에만 데이터를 저장한다. 

Linsert를 이용하면 데이터 사이의 값을 넣을 수 있다.

Set

Key 값의 value안에 순서 상관없이 입력이 됨 (중복불가)

SADD : Member들을 삽입 

SREM : Member를 지정해서 삭제

SPOP : 랜덤으로 갯수만큼 삭제

Smembers : 멤버들을 출력

SortedSet (Zset)

Set이랑 똑같이 Key안에 value가 들어간다.

하지만 Set과는 다르게 정렬을 해준다

ZADD로 순위와 value를 입력

Zrange하면 순위별 오름차순으로 나오며 순위가 같으면 글자 순으로 나열한다

zrem을 사용하면 삭제

 


TABLE vs hash

공부하다 생각이 난건데 hash도 응용만잘하면 RDBS의 Table 형태와 비슷하다 생각이 든다.

table의 이름과 filed와 value 가 있듯이 hash의 key값과 hash 형태를 뛰니깐 많이 비슷하다 생각한다.

하지만 table은 filed가 정해져 있으니 고정적인 면이 있지만 hash는 정해져있지 않아 자유로운 형태를 뛰는 것 같다.

 

 

'Database > redis' 카테고리의 다른 글

Redis - Spring 연동  (0) 2020.07.20
레디스(Redis) 란?  (0) 2020.07.16
NOSQL  (0) 2020.07.16