코딩/sparta TIL

터미널로 Redis 조회 방법

americanoallday 2025. 5. 21. 10:42

 

Docker로 Redis만 띄워놓은 경우

Redis CLI도 컨테이너 안에서 실행

docker exec -it [컨테이너명 or ID] redis-cli

 

컨테이너 목록 확인:

docker ps

 

예시:

docker exec -it redis-container redis-cli

 

TTL 확인 방법 : 위의 커멘드 입력 후 아래 커멘드 입력

> -2 : 키값이 없다는 의미

> 595초 남았다는 의미

127.0.0.1:6379> TTL bookSearchRedis::SearchCache
(integer) -2

127.0.0.1:6379> TTL bookSearchRedis::SearchCache
(integer) 595

 

RDB, AOF 설정 확인

127.0.0.1:6379> CONFIG GET appendonly
1) "appendonly"
2) "no" ← AOF 비활성화 상태
127.0.0.1:6379> CONFIG GET save
1) "save"
2) "3600 1 300 100 60 10000" 
// 3600초(1시간) 동안 1개 이상 키 변경 시 디스크에 저장
// 300초(5분) 동안 100개 이상 키 변경 시 저장
// 60초 동안 10000개 이상 키 변경 시 저장
// 즉, 조건이 충족되면 .rdb 파일로 백업하지만, 조건 미충족 시 메모리에만 남고, Redis 재시작 시 휘발

✅ 전체 삭제 (모든 DB 데이터 제거)

127.0.0.1:6379> FLUSHALL
  • Redis 서버의 모든 DB의 데이터가 삭제됩니다.
  • 개발 환경에서 주로 사용.
  • 주의: Redis가 여러 DB(기본적으로 16개)를 사용 중일 경우 전부 날아갑니다.

✅ 현재 선택된 DB만 삭제 (보통 DB 0 사용)

127.0.0.1:6379> FLUSHDB
  • 현재 선택된 DB (기본은 0번)의 데이터만 삭제됩니다.
  • 다른 DB 번호의 데이터는 그대로 유지됩니다.

💡 특정 키만 삭제하고 싶다면?

127.0.0.1:6379> DEL <key 이름>

예:

127.0.0.1:6379> DEL bookSearchRedis::SearchCache

 

🧼 TTL 확인하고 만료 기다리는 것도 가능

127.0.0.1:6379> TTL bookSearchRedis::SearchCache
  • -1이면 TTL 없음 (영구)
  • -2면 이미 만료됨
  • 양수면 남은 초(seconds)

 

 

필요하면 FLUSHALL을 도커 명령어로도 날릴 수 있어요:

docker exec -it <redis-container-name> redis-cli FLUSHALL

컨테이너 이름은 보통 redis거나 docker ps로 확인 가능합니다.

 

 

Redis의 ZSet(정렬된 집합) 구조 사용시, 값을 확인하려면 ZRANGEZREVRANGE를 사용

✅ 인기 검색어 값 조회 (점수 포함)

ZREVRANGE popular_keywords 0 -1 WITHSCORES

 

  • ZREVRANGE는 점수가 높은 순으로 정렬된 결과
  • 0 -1은 전체 범위
  • WITHSCORES를 붙이면 검색어 + 점수(빈도) 같이 나옵니다

 

✅ 점수 없이 값만 조회

ZREVRANGE popular_keywords 0 -1

 

 

✅ 특정 키워드의 점수 조회

ZSCORE popular_keywords "검색어"

 

예:

ZSCORE popular_keywords "java"

 

 

✅ Redis 클라이언트 없이 Redis 데이터 확인하고 싶다면?

 

대체 방법으로 Spring에서 RedisTemplate을 이용한 테스트 코드나 API 만들어서 값을 꺼낼 수도 있음:

@GetMapping("/test/zset")
public Set<ZSetOperations.TypedTuple<String>> getZSet() {
    return redisTemplate.opsForZSet().reverseRangeWithScores("popular_keywords", 0, 9);
}