Python에서 메모리 캐싱 사용
Python 애플리케이션을 작성할 때 캐싱이 중요합니다. 캐시를 사용하여 데이터 재구성을 피하거나 느린 데이터베이스에 액세스하면 성능을 높일 수 있습니다.
Python에서는 memcached
모듈을 사용하여 스크립트에 메모리 캐싱을 포함할 수 있습니다. 이 기사에서는 메모리 캐싱 작업 준비 및 기본 memcached
사용에 대해 설명합니다.
Python cache
및 set
을 사용하는 고급 패턴에 대해서도 배웁니다.
Memcached
모듈 설치
Memcached
패키지는 많은 플랫폼에서 사용할 수 있습니다.
- Linux의 경우
yum install memcached
또는apt-get install memcached
를 사용하여 설치할 수 있습니다. 이 스크립트는 미리 빌드된 패키지에서memcached
패키지를 설치합니다. - macOS의 경우 가장 쉬운 선택은 Homebrew를 활용하는 것입니다. Homebrew 패키지 관리자를 설치한 후
brew install memcached
를 입력합니다. - Windows의 경우 공식
memcached
웹사이트로 이동하여memcached
를 직접 컴파일해야 합니다.
일단 설치되면 memcached
명령을 호출하여 memcached
를 실행할 수 있습니다.
memcached
Python을 사용하여 캐시된 값 설정 및 가져오기
memcached
패키지는 사용해 본 적이 없다면 이해하기 쉽습니다. 또한 네트워크를 통해 상당한 양의 어휘에 대한 액세스를 제공합니다.
이 사전은 주로 다음과 같은 몇 가지 면에서 전통적인 Python 사전과 다릅니다.
- 값과 키는 바이트 데이터 유형이어야 합니다.
- 주어진 만료 시간이 지나면 값과 키가 자동으로 삭제됩니다.
따라서 set
과 get
은 memcached
를 처리하기 위한 두 가지 기본 절차입니다. 그들은 우리가 상상했던 것처럼 키에 값을 부여하거나 키에서 값을 얻기 위해 사용됩니다.
아래 코드는 memcached
를 Python 애플리케이션에서 네트워크 분산 캐시로 활용하는 방법을 보여줍니다.
import memcache
mcobject = memcache.Client(["127.0.0.1:11212"], debug=0)
mcobject.set("some_key", "Some value")
value = mc.get("some_key")
mcobject.set("another_key", 3)
mcobject.delete("another_key")
mcobject.set("key", "1")
mcobject.incr("key")
mcobject.decr("key")
memcached
네트워크 프로토콜은 간단합니다. 번개처럼 빠른 구현으로 인해 정식 데이터 소스에서 계산하거나 가져오는 데 오랜 시간이 걸리는 데이터를 저장하는 것이 유리합니다.
간단하지만 이 예제에서는 네트워크를 통해 키-값
튜플을 저장하고 애플리케이션의 여러 분산된 실행 복사본을 통해 액세스할 수 있습니다.
이 프로세스는 간단하면서도 강력합니다. 이는 애플리케이션을 최적화하기 위한 중요한 첫 단계입니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn