[Redis] 전역 키 명령어(Common Keys) 정리 📚

Ungs·2023년 12월 19일
0

Redis

목록 보기
2/4

Redis Common Keys

Common에 있는 명령어들은 5가지 Data type(자료구조)에 관계없이 모든 Key에 적용되는 명령

명령어 요약

모든 키 가져오기 (keys)

> key * #모든 키 검색

> key o* # o로 시작하는 키 검색 [패턴]
> key *tail # tail로 끝나는 키 검색 [패턴]

키가 존재하는지 (exists)

> exists <key>

키이름 변경 (rename, renamex)

> rename <key> <new> # key를 new로 이름 변경 new라는 키가 이미 존재시 원래 존재하는 걸 없애고 key가 덮어 씌어짐

> renamex <key> <new> # key를 new로 이름 변경 new라는 키가 이미존재하는 경우 불가.
> set key1 "hello"
"ok"
> set key2 "world"
"ok"
> UNLINK key1 key2
(integer) 2 

# 없애고 싶은 모든 키 삭제. 삭제된 개수 만큼 반환

key데이터가 많을 경우 del 명령어의 시간이 길어 back ground에서 작업해주는 unlink 사용이 권장.

모든 키 삭제 (flushall)

> flushall

키 자동삭제 (expire/ttl)

설정한 시간내로 key를 자동 삭제하는 명령어 이다.

다만, 기간 삭제를 등록하고 바로 set, getset의 명령어를 expire 명령어 이후에 key에 다시 적용하면expire 명령은 무효처리가 된다.
그러나 incr, lpush, sadd, zadd, hset과 같은 명령어는 유지된다.

# expire <key> <member> <second> : key에 ttl 설정 (ttl : Time To Live)
# ttl <key> : 남은 ttl을 초단위로 확인

127.0.0.1:6379> set a b
OK

127.0.0.1:6379> expire a 20 # key a를 20초 후에 삭제
(integer) 1

127.0.0.1:6379> ttl a # key 삭제 남은 시간이 얼마 남았는지
(integer) 16

127.0.0.1:6379> ttl a
(integer) -2

127.0.0.1:6379> get a
(nil)

데이터 영구저장 (save/bgsave)

  • 현재 입력한 key/value 값을 파일로 저장 가능
  • config에서 설정하여 자동 저장도 가능
  • exit 후 redis-server의 working directory 안에 rdb파일이 생성됨
> save # 포그라운드로 rdb파일로 저장

> bgsave # 백그라운드로 저장
profile
Hi I'm Ungs

0개의 댓글