이 페이지는 Memcache 사용을 위한 Python 코드 예시를 제공합니다. Memcache는 캐시된 데이터에 빠르게 액세스할 수 있는 고성능 분산 메모리 객체 캐싱 시스템입니다. Memcache에 대한 자세한 내용은 Memcache 개요를 참조하세요.
Memcache 패턴
Memcache는 일반적으로 다음 패턴에서 사용됩니다.
- 애플리케이션이 사용자 또는 애플리케이션으로부터 쿼리를 수신합니다.
- 애플리케이션에서 이 쿼리를 충족하는 데 필요한 데이터가 Memcache에 있는지 여부를 확인합니다.
- 데이터가 Memcache에 있는 경우 애플리케이션은 그 데이터를 사용합니다.
- 데이터가 Memcache에 없는 경우 애플리케이션은 Datastore를 쿼리하고 이후의 요청을 위해 Memcache에 그 결과를 저장합니다.
아래 의사 코드는 일반적인 Memcache 요청을 보여줍니다.
ndb는 내부적으로 Memcache를 사용하여 쿼리 속도를 높입니다. 그러나 원하는 경우 명시적으로 Memcache 호출을 추가하여 속도 향상을 직접 제어할 수 있습니다.
데이터 캐시하기
다음 예시에서는 Python API를 사용하여 Memcache에서 값을 설정하는 여러 가지 방법을 보여줍니다.
add()
, set_multi()
, set()
메서드에 대한 자세한 내용은 Memcache Python API 문서를 참조하세요.
Memcache를 사용하도록 guestbook.py
수정
방명록 애플리케이션은 모든 요청에서 Datastore를 쿼리합니다(ndb를 통해 수행하여 이미 어느 정도의 memcache 속도 향상을 얻음). Datastore 쿼리를 선택하기 전에 명시적으로 memcache를 사용하도록 방명록 애플리케이션을 수정할 수 있습니다.
먼저 Memcache 모듈을 가져와서 쿼리를 실행하기 전에 Memcache를 확인하는 메서드를 만듭니다.
다음으로 페이지의 HTML 생성과 쿼리를 분리합니다. 캐시에 적중하지 않는 경우 이 메서드를 호출하여 Datastore를 쿼리하고 Memcache에 저장할 HTML 문자열을 만듭니다.
끝으로 MainPage
핸들러를 업데이트하여 get_Contings() 메서드를 호출하고 캐시 적중 및 누락 횟수에 대한 몇 가지 통계를 표시합니다.