Redis를 알아보자!

Karim·2021년 12월 16일
7

Redis 운영

목록 보기
1/7
post-thumbnail

1. Redis 란?

💬 REmote Dictionary Server

  • 메모리 기반의 key-Value 구조 데이터 관리 시스템
  • 모든 데이터를 메모리에 저장하여 빠르다
  • 비 관계형 DB
  • 캐시로도 사용이 가능하고, 껐다 키면 데이터 복구가 가능하다.

2. Redis 용이점

💬

  • 메모리 기반이기 때문에 처리 속도가 빠르다.
  • TTL를 사용하여 유효시간을 지정할 수 있다.
  • 많은 데이터 타입을 지원한다. (Hash, List, String, Set, Sorted Set)
  • 저장소 메모리를 재 사용하지 않는다.
  • 재기동 해도 데이터가 사라지지 않는다. (스냅샷 및 aof 기능)
  • Cluster (분산 저장) 및 master-slave 구조 지원
  • 쿼리가 간단하다.

3. Redis 데이터 타입

💬 String

  • 가장 일반적인 형태도 key-value 구조이다.
  • key-value 1대1 관계이다.
  • key, value 최대 길이는 512Mb
  • 명령어 요약
    1. SET: SET, SETNX, SETEX, SETPEX, MSET, MSETNX, APPEND, SETRANGE
    2. GET: GET, MGET, GETRANGE, STRLEN
    3. INCR: INCR, DECR, INCRBY, DECRBY, INCRBYFLOAT

💬 List

  • key-value 1대 多 관계이다.
  • value는 입력된 순서대로 저장된다.
  • 주로 큐, 스택으로 사용된다.
  • value가 다 사라지면 key도 자동적으로 사라진다.
  • 명령어 요약
    1. SET (PUSH): LPUSH, RPUSH, LPUSHX, RPUSHX, LSET, LINSERT, RPOPLPUSH
    2. GET: LRANGE, LINDEX, LLEN
    3. POP: LPOP, RPOP, BLPOP, BRPOP
    4. REM: LREM, LTRIM
    5. BLOCK: BLPOP, BRPOP, BRPOPLPUSH

💬 Sets

  • key-value 1대 多 관계이다.
  • Value는 입력된 순서 상관 없이 저장되며, 중복되지 않는다.
  • Sets에서는 집합이라는 의미에서 value를 member라 부른다.
  • 명령어 요약
    1. SET: SADD, SMOVE
    2. GET: SMEMBERS, SCARD, SRANDMEMBER, SISMEMBER, SSCAN
    3. POP: SPOP
    4. REM: SREM
    5. 집합연산: SUNION, SINTER, SDIFF, SUNIONSTORE, SINTERSTORE, SDIFFSTORE

💬 Sorted Sets

  • Key 하나에 여러개의 Score와 Value로 저장된다.
  • Value는 Score로 정렬되며 중복되지 않는다.
  • Score가 같으면 Value로 정렬된다.
  • Sorted Sets에서는 집합이라는 의미에서 value를 member라 부른다.
  • 명령어 요약
    1. SET: ZADD
    2. GET: ZRANGE, ZRANGEBYSCORE, ZRANGEBYLEX, ZREVRANGE, ZREVRANGEBYSCORE, ZREVRANGEBYLEX, ZRANK, ZREVRANK, ZSCORE, ZCARD, ZCOUNT, ZLEXCOUNT, ZSCAN
    3. POP: ZPOPMIN, ZPOPMAX
    4. REM: ZREM, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZREMRANGEBYLEX
    5. INCR: ZINCRBY
    6. 집합연산: ZUNIONSTORE, ZINTERSTORE

💬 Hash

  • key 하나에 여러개의 field와 value로 저장된다.
  • key 하나당 field-value 40억개의 쌍으로 저장이 가능하다.
  • 명령어 요약
    1. SET: HSET, HMSET, HSETNX
    2. GET: HGET, HMGET, HLEN, HKEYS, HVALS, HGETALL, HSTRLEN, HSCAN, HEXISTS
    3. REM: HDEL
    4. INCR: HINCRBY, HINCRBYFLOAT

📌 여담

  • 이번엔 간단히 소개 했는데 레디스 설치 하고 데이터 타입마다 redis-cli로 정리할 예정이다.!!

📚 참고

profile
나도 보기 위해 정리해 놓은 벨로그

2개의 댓글

comment-user-thumbnail
2021년 12월 16일

도움이 많이 되었습니다 ^^

1개의 답글