pat coding

Redis 정리 본문

Database

Redis 정리

uuukpyo 2019. 12. 26. 15:47
728x90

Redis 란?

  • "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템

  • 메모리에 데이터를 쓰는 in memory 데이터베이스 그리고 NoSQL 데이터베이스라고 분류 된다.

  • 많은 양의 데이터를 효율적으로 처리, 데이터의 안정성이 필요할때 사용, 속도도 빠르다.

  • 인메모리 데이터 저장소로서 서버에 장애가 났을 경우 데이터 유실이 발생

    • Snapshot과 AOF 기능을 통한 복구 시나리오가 제대로 세워져 있어야 데이터 유실에 대비한 사고에 대처가능

키-값 구조

<key,value> 의 구조로 데이터를 저장하고 key를 이용해서 값을 불러오는 구조이다.

  • key타입은 string(문자열)으로 JSON, XML등 문자열로 된 데이터들을 저장할 수 있다.

  • 바이너리(binary)데이터도 저장이 가능하다.

  • value의 경우 lists, sets, hashs와 같이 여러개를 저장할 수 있다. 

사용하기

1. SET으로 값을 저장하고, GET으로 값을 가져올 수 있다.
   이미 있는 key에 대해서 값을 설정하면, 값을 덮어쓴다.

1. set
$redis.set(key, value)
ex)$redis.set('name','ben')

2. get
$redis.get(key)
ex)$redis.get('name')
=> 'ben'

 

2. DEL로 값을 지울 수 있다.

$redis.del(key)

 

3. MSET 과 MGET을 이용해서 한 번에 여러 개의 key, value를 저장하고 읽을 수 있다.

mset key1 'diana' key2 'scott'
get key1
=> 'diana'
get key2
=> 'scott'

mget key1 key2
=> 'diana'
=> 'scott'

 

4. 명령어

LPUSH : 값을 키에 저장된 목록의 처음에 넣습니다. 
RPUSH : 값을 키에 저장된 목록의 끝에 넣습니다. 
LPOP : 처음부터 데이터를 가져옴
RPOP : 맨 끝부터 데이터를 가져옴
LRANGE : list형식으로 저장된 키의 값을 인덱스를 지정하여 가져올 수 있음.
2. 처음부터 0의 인덱스가 주어진다. 
3. 전체를 조회할 경우 start에 0, stop에 -1을 입력한다.


728x90

'Database' 카테고리의 다른 글

[DB] SELECT 문 쿼리 시간 문제 해결  (0) 2021.02.16
Oracle, MySQL 조건문 정리  (0) 2020.04.20
Comments