본문 바로가기
Udemy Staters 부트캠프 2기

REDIS 간단하게 정리

by ppirae 2023. 2. 22.

1. REDIS는 NoSQL 언어이다.

그럼 NoSQL은 뭘까 ?
NoSQL은 "Not Only SQL" 또는 "Non-Relational"의 약자로,
관계형 데이터베이스가 아닌 다양한 형태의 데이터 저장 및 관리를 지원하는 데이터베이스이다.
NoSQL 데이터베이스는 관계형 데이터베이스와 달리 스키마가 고정되어 있지 않아
자유로운 형태의 데이터를 저장할 수 있다.


1. 키-값 데이터베이스(Key-Value Database)

2. 문서 데이터베이스(Document Database)
3. 열 지향 데이터베이스(Column-Family Database)
4., 그래프 데이터베이스(Graph Database) 등이 있다. (*예시는 구글링 해볼 것)


2. REDIS의 특징

Redis는 Remote Dictionary Server의 약자로, 메모리 기반의 key-value 저장소이다.

(단순히 생각하면 python의 dictionary와 비슷하다.)
이는 데이터를 디스크에 저장하지 않고, 메모리에 저장하여 빠른 데이터 액세스 속도를 보장한다.
Redis는 다양한 데이터 구조를 지원하며, 단순한 문자열부터 복잡한 데이터 구조인 비트맵, 지도, 집합, 리스트, 해시 등을 다룰 수 있다.

  1. 높은 성능: Redis는 메모리 기반으로 동작하며, 데이터 저장과 검색 속도가 매우 빠르다.
  2. 데이터 구조의 다양성: Redis는 문자열, 해시, 리스트, 집합, 정렬 집합 등 다양한 데이터 구조를 지원한다.
  3. 영속성: Redis는 데이터를 메모리에 저장하면서도 디스크에 백업을 수행하여 데이터의 지속성을 보장한다.
  4. 분산 환경 지원: Redis는 클러스터링, 샤딩 등을 통해 분산 환경에서도 데이터를 안정적으로 처리할 수 있다.
  5. Pub/Sub 메시징 시스템: Redis는 발행/구독(Pub/Sub) 메시징 시스템을 지원한다.

Redis는 다양한 용도로 활용된다. 캐시 서버, 세션 저장소, 메시지 큐 등으로 사용할 수 있으며, 인메모리 데이터베이스로도 사용된다. 또한 Redis는 NoSQL 데이터베이스 중에서도 인기가 매우 높은 편이며, 높은 성능과 확장성을 갖춘 솔루션이라고 할 수 있다.


3. REDIS의 명령어 간단하게

       1. 문자열 데이터 구조

  • SET key value: key에 대한 값을 value로 설정합니다.
  • GET key: key에 대한 값을 반환합니다.
  • DEL key: key에 대한 값을 삭제합니다.
  • INCR key: key에 대한 값을 1 증가시킵니다.

    2. 해시 데이터 구조
  • HSET key field value: key에 대한 해시 맵에 field와 value를 추가합니다.
  • HGET key field: key에 대한 해시 맵에서 field에 해당하는 값을 반환합니다.
  • HGETALL key: key에 대한 해시 맵의 모든 값을 반환합니다.
  • HDEL key field: key에 대한 해시 맵에서 field에 해당하는 값을 삭제합니다.

    위의 두가지 구조는 이번에 인턴 업무하면서 많이 사용해서
    기억해두면 좋을 것 같다.

DBeaver 사용 모습


       3. 리스트 데이터 구조

  • LPUSH key value, RPUSH key value, LPOP key, RPOP key

    4. 집합 데이터 구조
  • SADD key member, SMEMBERS key, SINTER key1 key2, SREM key member

    5. 정렬 집합 데이터 구조
  • ZADD key score member, ZRANGE key start stop, ZRANGEBYSCORE key min max, ZREM key member

    6. 기타 명령어
  • EXPIRE key seconds: key에 대한 만료 시간을 설정합니다.

이러한 명령어도 있다고 알아만두자.

필요한 명령어는 공식 문서를 활용하자.

https://redis.io/docs/

 

Documentation

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker

redis.io

 

댓글