layout : post
title : "기본 명령어"
category : Redis
Redis 는 여러 개의 데이터 타입을 저장할 수 있기 때문에 각각의 명령어가 여러개 존재한다.
Redis 는 Single Thread 기반이기 때문에 keys
, flushall
, flushdb
, getall
등 일반적으로 생각했을 때 O(N) 의 시간복잡도를 가질 것 같은 명령어는 운영 환경에서 사용하지 않는것이 좋다.
1. String
가장 기본적인 Value 타입
- 저장
set {key} {value}
: key, value 를 저장mset {key} {value} [{key} {value} ...]
: 여러 개의 key, value 를 한번에 저장setex {key} {seconds} {value}
: key, seconds, value 저장 (설정한 시간 뒤에 소멸)
- 조회
keys *
: 현재 저장된 키값들을 모두 확인 (부하가 심한 명령어라 운영중인 서비스에선 절대 사용하면 안됨)get {key}
: 지정한 key 에 해당하는 value 를 가져옴mget {key} [{key} ...]
: 여러 개의 key 에 해당하는 value 를 한번에 가져옴ttl {key}
: key 의 만료 시간을 초 단위로 보여줌 (-1 은 만료시간 없음, -2 는 데이터 없음)pttl {key}
: key 의 만료 시간을 밀리초 단위로 보여줌type {key}
: 해당 key 의 value 타입 확인
- 삭제
del {key} [{key} ...]
: 해당 key 들을 삭제
- 수정
rename {key} {newKey}
: key 이름 변경expire {key} {seconds}
: 해당 키 값의 만료 시간 설정
- 기타
randomkey
: 랜덤한 key 반환ping
: 연결 여부 확인 ("ping" 만 입력하면 "PONG" 이라는 응답이 옴)dbsize
: 현재 사용중인 DB 의 key 의 갯수 리턴flushall
: 레디스 서버의 모든 데이터 삭제flushdb
: 현재 사용중인 DB 의 모든 데이터 삭제
2. Set
Redis 에서는 Set 에 포함된 값들을 멤버라 한다.
여러 멤버가 모여 집합 (Set) 을 구성하며 진짜 집합처럼 교집합, 차집합 등도 구할 수 있다.
sadd {key} {member} [{member} ...]
- key 에 새로운 멤버들을 추가. key 가 없으면 새로 만듬
smembers {key}
- key 에 설정된 모든 멤버 반환
srem {key} {member [{member} ...]}
- key 에 포함된 멤버들 삭제. 없는 멤버 입력하면 무시됨
scard {key}
- key 에 저장된 멤버 수를 반환
sismember {key} {member}
- member 가 해당 key 에 포함되는지 검사
3. Hash
Redis 에서 저장가능한 자료구조 중에 Hash 도 존재
Hash 자체를 나타내는 key 와 해당 key 에 포함된 field 까지 사용해서 값을 조회/저장할 수 있다.
hset {key} {field} {value} [{field} {value} ...]
- key 를 이름으로 한 Hash 자료 구조에 field 와 value 값을 저장
hget {key} {field}
- key Hash 값에 포함된 field 의 value 를 가져옴
hdel {key} {field} [{field} ...]
- field 값으로 데이터 삭제
hlen {key}
- Hash 가 갖고 있는 field 갯수 반환
hkeys {key}
- Hash 가 갖고 있는 모든 field 출력
hvals {key}
- Hash 가 갖고 있는 모든 value 출력
hgetall {key}
- Hash 가 갖고 있는 모든 field 와 value 출력
'IT > Redis' 카테고리의 다른 글
2021-10-19-spring boot 연동 (0) | 2023.02.27 |
---|
댓글