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 명령어를 한번에 처리할 수 있기 때문에 성능이 향상됩니다.
728x90