728x90

1. KEYS 명령어 사용

Redis에서 특정 패턴에 맞는 키를 조회하려면 KEYS 명령어를 사용할 수 있습니다. 예를 들어, data:*와 같은 패턴을 사용하여 data:0, data:1와 같은 키를 가져올 수 있습니다.

# Python 예시: KEYS 명령어 사용
import redis

# Redis 연결
r = redis.StrictRedis(host='localhost', port=6379, db=0)

# "data:"로 시작하는 모든 키를 조회
keys = r.keys('data:*')
print(keys)  # ['data:0', 'data:1', ...]
        

주의: KEYS 명령어는 Redis 서버에서 모든 키를 순회하기 때문에, 키가 많을 경우 성능에 영향을 미칠 수 있습니다.

2. SCAN 명령어 사용

SCAN 명령어는 KEYS보다 성능에 더 유리한 방법입니다. SCAN은 비차단적이며, 키를 순차적으로 조회할 수 있어 대규모 데이터셋에서 성능 저하를 줄일 수 있습니다.

# Python 예시: SCAN 명령어 사용
import redis

# Redis 연결
r = redis.StrictRedis(host='localhost', port=6379, db=0)

# SCAN을 사용하여 'data:'로 시작하는 키 조회
cursor = 0
while True:
    cursor, keys = r.scan(cursor=cursor, match='data:*', count=10)
    print(keys)  # data:0, data:1, ...
    if cursor == 0:
        break
        

SCAN은 키를 순차적으로 조회하므로 성능에 더 유리합니다. 특히, 많은 키가 있는 환경에서 유용하게 사용할 수 있습니다.

3. 직접 키 접근 (직접 data:0, data:1 조회)

키가 일정한 규칙을 따른다면, 직접 키를 지정하여 값을 가져올 수 있습니다. 예를 들어, data:0, data:1와 같은 키가 있을 경우 해당 키를 직접 조회할 수 있습니다.

# Python 예시: 직접 키 접근
import redis

# Redis 연결
r = redis.StrictRedis(host='localhost', port=6379, db=0)

# 직접 키를 지정하여 값 조회
data_0 = r.get('data:0')
data_1 = r.get('data:1')

print(data_0)  # data:0에 저장된 값
print(data_1)  # data:1에 저장된 값
        

이 방법은 특정 키만 조회하므로, 성능 면에서는 가장 효율적입니다.

4. 파이프라인을 사용한 여러 키 조회

여러 개의 키를 동시에 조회해야 할 경우, Redis의 파이프라인 기능을 사용할 수 있습니다. 파이프라인을 사용하면 여러 명령어를 하나의 요청으로 묶어서 실행할 수 있어 성능을 최적화할 수 있습니다.

# Python 예시: 파이프라인을 사용한 여러 키 조회
import redis

# Redis 연결
r = redis.StrictRedis(host='localhost', port=6379, db=0)

# 파이프라인 사용하여 여러 키 조회
pipeline = r.pipeline()
pipeline.get('data:0')
pipeline.get('data:1')

results = pipeline.execute()
print(results)  # [data:0의 값, data:1의 값]
        

파이프라인을 사용하면 여러 Redis 명령어를 한번에 처리할 수 있기 때문에 성능이 향상됩니다.

Redis에서 키를 효율적으로 조회하는 방법을 알아보았습니다. 상황에 맞는 방법을 선택하여 사용하세요.

728x90

+ Recent posts