본문 바로가기
프로그래밍 언어(Programming Languages)/파이썬(Python)

[Redis] Redis 파이썬 클래스 - 메모리 내 데이터 처리의 마법✨

by 데이터 벌집 2023. 11. 16.

안녕하세요! 오늘은 Redis Utility 파이썬 클래스를 만들어 보겠습니다. 

 

Redis를 처음 접하시는 분들은 이 포스팅을 참고하세요!

2023.11.10 - [파이썬(Python)] - [Redis] 초보자를 위한 Redis 입문하기 📈🗂

 

 

RedisUtility 파이썬 디자인

 

Redis?

 

Redis, 메모리 기반의 데이터 저장소로써의 속도와 효율성을 탐구하다! 데이터베이스의 세계에서, 속도는 금이죠. 🏃💨 여기서 '금'이라면, Redis는 바로 그 '금맥'입니다! 이 키-밸류 스토어는 그 빠른 성능으로 유명한데, 그 이유는 바로 메모리 내 데이터 관리 때문이죠. Python 사용자들을 위해, redis-py 라이브러리가 그 금맥을 캐는 도구입니다. 🛠️

 

 

이제 본격적으로 RedisUtility.py 파일을 만들어볼 시간! 이 파일은 여러분의 Python 프로젝트가 Redis의 마법과 만나게 해줄 거예요. ✨

 

RedisUtility 클래스 디자인

import redis
import json

class RedisUtility:
    def __init__(self, host='localhost', port=6379, db=0):
        self.r = redis.Redis(host=host, port=port, db=db)
    
    def _id_key(self, id):
        # 데이터베이스 내에서 사용할 고유 키를 생성하는 보조 함수입니다.
        return f"record:{id}"
    
    def set(self, id, data):
        # 데이터를 삽입하거나 기존 데이터를 업데이트합니다.
        key = self._id_key(id)
        self.r.set(key, json.dumps(data))
    
    def get(self, id):
        # 키를 이용해 데이터를 조회합니다.
        key = self._id_key(id)
        data = self.r.get(key)
        if data:
            return json.loads(data)
        return None
    
    def delete(self, id):
        # 특정 키의 데이터를 삭제합니다.
        key = self._id_key(id)
        return self.r.delete(key)

    def write(self, data):
        # 고유 ID를 자동으로 생성하며 데이터를 저장합니다.
        id = self.r.incr('id_counter')  # id_counter를 사용하여 고유한 ID를 생성합니다.
        self.set(id, data)
        return id

 

 

RedisUtility 클래스 활용 예

 

# RedisUtility 사용 예시

# RedisUtility 인스턴스 생성
redis_util = RedisUtility()

# 데이터 쓰기
new_id = redis_util.write({'name': 'Alice', 'email': 'alice@example.com'})
print(f"새 레코드가 생성되었습니다. ID: {new_id}")

# 데이터 업데이트
redis_util.set(new_id, {'name': 'Alice', 'email': 'alice@newdomain.com'})

# 데이터 조회
record = redis_util.get(new_id)
print(f"ID {new_id}의 레코드: {record}")

# 데이터 삭제
redis_util.delete(new_id)
print(f"ID {new_id}의 레코드가 삭제되었습니다.")

 

 

 

데이터의 세계에서 빠른 속도로 승부하는 여러분, 오늘의 여정이 어떠셨나요? RedisUtility 클래스를 통해 Python과 Redis의 만남이 얼마나 강력한지 경험하셨을 겁니다. 이 클래스는 여러분이 데이터를 순식간에 저장하고 검색할 수 있게 도와줄 것입니다. 💫

 

Redis를 처음 접하는 분들도 걱정 마세요. '초보자를 위한 Redis 입문하기' 포스트와 함께라면, 이 데이터베이스의 기초부터 차근차근 시작할 수 있습니다. 📘🚀 2023.11.10 - [파이썬(Python)] - [Redis] 초보자를 위한 Redis 입문하기 📈🗂