이 기사에서는 장고의 캐싱과 웹 개발 전체에 대한 포괄적 인 이해를 얻게됩니다. 캐싱이 무엇인지, 캐싱의 이점, Django에서 캐싱을 설정하는 방법, Django가 지원하는 백엔드 시스템 및 캐싱의 모범 사례에 대해 배울 것입니다.
기사가 끝날 무렵, 백엔드 웹 개발자로서 캐싱과 최상의 성능을 위해 Django 프로젝트에서이를 구현할 수있는 방법에 대한 확실한 이해를 얻게됩니다.
.
- 페이지 캐싱. 이것은 사이트의 자주 방문하는 페이지가 완전히 캐시되는 시나리오입니다. 응용 프로그램은 캐시 된 페이지의 페이지를 가져와 페이지의 내용을 처음부터 처음부터 작성하는 것과는 달리 요청이 이루어질 때 렌더링합니다.
데이터베이스 쿼리 캐싱. 데이터베이스 쿼리 캐싱은 정보를 위해 데이터베이스를 자주 요청하는 데 의존하는 응용 프로그램에 대한 좋은 접근법입니다. 데이터베이스에 도달 할 필요없이 동일한 캐시 된 데이터에 의해 일련의 요청을 충족시켜 데이터베이스 히트를 낮추고 서버 응답 시간 속도를 높이십시오.
세션 및 인증 캐싱. 캐싱은 간소화 된 사용자 경험과 더 빠른 응답 시간을 제공하는 데 사용될 수 있습니다. 캐시 된 데이터는 사용자가 응용 프로그램의 인증 된 섹션을 쉽게 이동할 수 있으므로 캐싱 인증 및 세션 세부 사항은 중복 인증 작업을 줄이는 데 도움이 될 수 있습니다.
Django 캐싱의 이점 -
성능 향상. 캐싱은 서버로드를 줄임으로써 웹 응용 프로그램의 성능을 향상시킵니다. 서버가 응용 프로그램에서 요청을 받으면 캐싱은 이전에 캐시 된 데이터를 사용하여 일부 요청이 충족되도록합니다. 이로 인해 서버가 처음부터 해당 작업을 수행하지 않아도됩니다. 결과적으로 사용자의 경험이 전반적으로 향상되고 반응 시간이 증가합니다.
응답 시간이 줄어 듭니다. 캐싱은 데이터베이스 히트를 줄임으로써 응답 시간을 최소화합니다. 캐싱을 통해 데이터가 필요할 때마다 데이터베이스에서 직접 대신 편리한 위치에서 데이터를 가져올 수 있습니다. 일부 데이터에는 완료하는 데 시간이 걸릴 수있는 고가의 계산이 필요하기 때문에 데이터베이스에서 필요할 때마다 데이터를 가져 오는 것이 모든 데이터에 최선의 선택이 아닐 수 있습니다. 데이터를 저장하고 필요할 때마다 즉시 사용할 수있게함으로써 캐싱은 하루를 절약합니다. 리소스 최적화. 웹 애플리케이션에서 데이터 또는 리소스를 캐싱하면 동일한 리소스를 출력하는 반복적 인 작업을 수행하지 않고 리소스에 액세스 할 수 있고 검색 할 수 있습니다.
-
django 프로젝트 설정 이 섹션의 주요 작업은 가상 환경을 생성하고 프로젝트에 필요한 모듈을 설치하는 것입니다. 가상 환경을 만들려면 터미널 에이 명령을 입력하십시오. - 프로젝트의 모든 모듈 이이 환경 내부에 설치되므로 사용을 시작하려면 활성화해야합니다.
Windows에서
-
이 명령은 사용자 이름, 이메일 및 두 가지 비밀번호와 같은 슈퍼 사용자 세부 사항을 입력하라는 메시지를 표시합니다.
슈퍼 유저를 성공적으로 생성 한 후 로컬 서버를 발사하고 브라우저 에이 URL을 입력하십시오 : http://127.0.1:8000/admin/. 아래 이미지는 당신이 찍을 페이지를 보여줍니다. - 로그인하려면 슈퍼 사용자 자격 증명을 제공하고 일단 들어가면 아래 그림과 같이 모델을 데이터로 채우십시오.
- 응용 프로그램 내부에서 템플릿 폴더를 만들고 내부에 list_all.html 파일을 만듭니다. 지금은 HTML 파일을 비워 두십시오. views.py 파일을 열고 다음과 같이 보이게 만드십시오.
캐싱을 구현하기 전에 가장 먼저해야 할 일은 Django 프로젝트를 설정하는 것입니다. 먼저 Django를 설치하겠습니다. 터미널을 열고이 명령을 실행하십시오$ python <span>-m venv project
</span>
Django를 성공적으로 설치 한 후 Django 프로젝트 및 응용 프로그램을 만들어 봅시다. Django Project Run을 만들려면 :
프로젝트 폴더로 이동하십시오. 여기에서는 Django 응용 프로그램을 생성합니다. 이 명령을 실행하십시오 :
그런 다음 이것을 실행하십시오
$ .<span>\project\Scripts\activate
</span>
프로젝트와 응용 프로그램을 성공적으로 작성한 후에는 응용 프로그램을 프로젝트에 등록해야합니다. settings.py 파일을 열고 installed_apps 목록을 다음과 같이 보이게합니다.
참고 : Django 프로젝트에서 응용 프로그램을 사용하려면 설치_apps 목록에 등록되어야합니다.
이제 Django 프레임 워크가 성공적으로 설치되었는지 확인하려면 테스트하겠습니다. 터미널 에서이 명령을 실행하십시오
아래의 출력을 받으십시오. $ <span>source project/bin/activate
</span>
이제 URL을 복사하여 웹 브라우저에 붙여 넣습니다. 예상 출력은 다음과 같습니다. $ pip <span>install django
</span>
참고 : itepoint에서 Django 프로젝트와 Django 앱을 신속하게 시작하는 것에 대한 자세한 내용을 읽을 수 있습니다.
settings.py에서 다른 캐싱 설정 구성
캐싱을 사용하려면 Django 프로젝트에서 구성해야 하므로이 섹션에서는 Django에서 사용 가능한 다양한 캐싱 시스템을 구성하는 방법을 살펴 보겠습니다.
로컬 메모리 캐싱
이름에서 알 수 있듯이 로컬 메모리 캐시, 때로는 LOCMEM으로 축약하는 경우 호스팅 머신의 RAM에 캐시 된 데이터를 저장합니다.
django는 Settings.py 파일에 대체 캐싱 메커니즘을 제공하지 않으면 로컬 메모리 캐싱을 기본 캐싱 시스템으로 자동으로 사용합니다. 스레드 안전, 빠르고 반응 형 캐싱 기술이 주목할 만하다
로컬 메모리 캐시는 모든 종류의 크로스 프로세스 캐싱을 방지하고 개별 프로세스가 별도의 개인 캐시 인스턴스를 유지하도록하는 프로세스 당 메커니즘이 포함되어 있기 때문에 생산 환경에서 사용하기에 적합합니다. 그럼에도 불구하고 여전히 개발을 위해서는 여전히 좋은 선택입니다. $ django-admin startproject cachedproject
응용 프로그램에서 로컬 메모리 캐싱을 구성하려면 Settings.py 파일에 다음 코드를 추가하십시오.
파일 기반 캐싱
파일 기반 캐싱에서 각 캐시 값은 캐싱 할 때 파일에서 개별적으로 유지됩니다. 소규모 응용 프로그램이나 메모리 기반 캐싱이 실용적이지 않은 곳에 유용합니다.
이 캐싱 시스템의 단점은 메모리 기반 캐싱에 비해 상대적으로 느리다는 것입니다.
응용 프로그램에서 파일 기반 캐싱을 구성하려면 Settings.py 파일에 다음 코드를 추가하십시오.
창문에있는 경우 다음과 같은 각각의 드라이브 문자로 위치의 경로를 시작하십시오.$ python <span>-m venv project
</span>
데이터베이스 캐싱
Django는 파일에 캐시를 저장하고 기계의 RAM을 호스팅하는 것 외에도 데이터베이스에 캐시를 저장할 수있는 기능을 제공합니다.
이것은 빠르고 잘 알려진 데이터베이스 서버를 가지고 있다면 가장 잘 작동합니다. .
응용 프로그램에서 데이터베이스 캐싱을 사용하려면 Settings 내부에 다음 코드를 추가하십시오.
캐시를 사용하기 전에 위의 설정에 언급 된 데이터베이스 테이블을 구성하려면 다음 명령을 사용하십시오.
위의 명령은 Django의 데이터베이스 캐시 시스템이 기대하는 적절한 형식의 데이터베이스에 테이블을 작성합니다. 테이블의 이름은 위치에서 가져옵니다. 이 경우 테이블 이름은 my_cache_table입니다
Memcached 캐싱
memcached는 데이터베이스 액세스를 줄이고 사이트 성능을 향상시키기 위해 웹 개발자가 사용하는 메모리 인 캐싱 시스템입니다.
Locmem 캐시와 달리, Memcached는 데몬으로 작동하며, 이는 멤버가 직접 사용자 상호 작용과 독립적으로 멤버가 배경 프로세스로 실행됨을 의미합니다. 따라서 MemCached는 컴퓨터에 별도로 설치해야합니다. 그런 다음 Django 응용 프로그램에서 Pylibmc 또는 Pymemcache와 같은 바인딩 중 하나를 설치하고 구성하여 Memcached를 사용합니다.
> Django 응용 프로그램은 아래와 같이 캐시 설정, 위치, IP 주소 및 기타 세부 사항을 추가하여 멤버 데몬에 연결할 수 있습니다.
Memcached Technology는 빠른 데이터 저장 및 검색을 위해 설계되었으므로 읽기 또는 쿼리로드가 높은 응용 프로그램에 특히 적합합니다.
MemCached의 단점은 데이터가 메모리에 저장되므로 서버가 충돌하면 손실된다는 것입니다.
redis
Redis는 캐싱에 사용할 수있는 메모리 인 데이터베이스입니다. Redis Inmemory 데이터 저장소를 사용하여 데이터를 캐시합니다. Redis는 신속성과 적응성으로 유명하여 분산 시스템 및 고성능 캐싱을위한 훌륭한 옵션입니다.
응용 프로그램에서 Redis를 사용하여 데이터를 캐시하려면 로컬 또는 원격 시스템에서 실행하는 Redis 서버가 필요합니다. 기계에 Redis를 설정하려면 Redis Getting Start Guide를 읽으십시오.
Redis 서버를 설정 한 후 Redis 용 Python 바인딩을 설치해야합니다. 이 명령을 사용하여 설치하십시오
Redis-Py 인터페이스는 Django가 기본적으로 지원하거나 Django-Redis 및 Redis 패키지를 사용하는 바인딩입니다.
Redis 서버가 LocalHost (127.0.0.1)에서 실행 중이라는 점에서 Application에서 Redis 캐싱을 구성하려면 PORT = 6379에서 다음 코드를 추가하십시오.$ python <span>-m venv project
</span>
Redis의 복잡성과 외부 서비스에 대한 의존은 트레이드 오프입니다. Redis 설치 및 구성은 다른 캐시 백엔드보다 까다로울 수 있습니다. 온라인시 두 번째 서버와 유지가 필요합니다. Redis 사용은 외부 서비스에 의존합니다. Redis가 문제가 있거나 내려 가면 응용 프로그램의 캐싱 기능에 영향을 줄 수 있습니다.
redis 를 사용하여 Django에서 캐싱 수행
좋아요, 그건 충분한 이론입니다. 이 섹션에서는 장고 응용 프로그램에서 캐싱을 수행하는 방법을 보여줍니다. 우리는 세 가지 형태의 캐싱에 중점을 둘 것입니다 :
캐싱보기
템플릿 조각 캐싱
사이트 당 캐싱
그러나 각 캐싱 양식을 자세히 수행하기 전에 먼저 프로젝트를 올바르게 설정하겠습니다. 모델을 생성, 등록 및 채우고 응용 프로그램의 URL을 구성하고 템플릿을 작성하고 Django 디버그 도구 모음을 설치하고 구성합니다.
CachedApplication 앱 내부에서 Models.py 파일을 열고 다음과 같이 보이게하십시오.
다음, admin.py 파일을 열고이 코드를 붙여 넣습니다
이 코드 스 니펫은 Django Admin Dashboard에 모델 프로그래머를 등록합니다.
모델을 채우기 전에 약간의 마이그레이션을합시다. 터미널에서 다음을 실행하십시오 :
또한 이것을 실행하십시오 :
Django에서는 터미널과 관리 대시 보드를 통해 모델을 두 가지 방식으로 채울 수 있습니다. 그러나 단순성을 위해 관리자 대시 보드를 사용합니다. Admin Dashboard는 SuperUser 전용이므로 하나를 만들어야합니다. 터미널에서 다음 명령을 실행하십시오
이제 프로젝트의 urls.py 파일에 홈보기를 등록하겠습니다. CachedProject 폴더 내부에서 urls.py 파일을 열고이 코드를 붙여 넣습니다.
$ .<span>\project\Scripts\activate </span>
참고 : Django 프로젝트에서 응용 프로그램을 사용하려면 설치_apps 목록에 등록되어야합니다.
$ <span>source project/bin/activate </span>
$ pip <span>install django </span>
참고 : itepoint에서 Django 프로젝트와 Django 앱을 신속하게 시작하는 것에 대한 자세한 내용을 읽을 수 있습니다.
$ django-admin startproject cachedproject
$ python <span>-m venv project
</span>
위의 명령은 Django의 데이터베이스 캐시 시스템이 기대하는 적절한 형식의 데이터베이스에 테이블을 작성합니다. 테이블의 이름은 위치에서 가져옵니다. 이 경우 테이블 이름은 my_cache_table입니다
$ python <span>-m venv project
</span>
Django에서는 터미널과 관리 대시 보드를 통해 모델을 두 가지 방식으로 채울 수 있습니다. 그러나 단순성을 위해 관리자 대시 보드를 사용합니다. Admin Dashboard는 SuperUser 전용이므로 하나를 만들어야합니다. 터미널에서 다음 명령을 실행하십시오
위 내용은 Django 캐싱에 대한 포괄적 인 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.

Python과 C는 메모리 관리 및 제어에 상당한 차이가 있습니다. 1. Python은 참조 계산 및 쓰레기 수집을 기반으로 자동 메모리 관리를 사용하여 프로그래머의 작업을 단순화합니다. 2.C는 메모리 수동 관리가 필요하므로 더 많은 제어를 제공하지만 복잡성과 오류 위험을 증가시킵니다. 선택할 언어는 프로젝트 요구 사항 및 팀 기술 스택을 기반으로해야합니다.

과학 컴퓨팅에서 Python의 응용 프로그램에는 데이터 분석, 머신 러닝, 수치 시뮬레이션 및 시각화가 포함됩니다. 1.numpy는 효율적인 다차원 배열 및 수학적 함수를 제공합니다. 2. Scipy는 Numpy 기능을 확장하고 최적화 및 선형 대수 도구를 제공합니다. 3. 팬더는 데이터 처리 및 분석에 사용됩니다. 4. matplotlib는 다양한 그래프와 시각적 결과를 생성하는 데 사용됩니다.

Python 또는 C를 선택할 것인지 프로젝트 요구 사항에 따라 다릅니다. 1) Python은 간결한 구문 및 풍부한 라이브러리로 인해 빠른 개발, 데이터 과학 및 스크립팅에 적합합니다. 2) C는 컴파일 및 수동 메모리 관리로 인해 시스템 프로그래밍 및 게임 개발과 같은 고성능 및 기본 제어가 필요한 시나리오에 적합합니다.

Python은 데이터 과학 및 기계 학습에 널리 사용되며 주로 단순성과 강력한 라이브러리 생태계에 의존합니다. 1) 팬더는 데이터 처리 및 분석에 사용되며, 2) Numpy는 효율적인 수치 계산을 제공하며 3) Scikit-Learn은 기계 학습 모델 구성 및 최적화에 사용되며 이러한 라이브러리는 Python을 데이터 과학 및 기계 학습에 이상적인 도구로 만듭니다.

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.

웹 개발에서 Python의 주요 응용 프로그램에는 Django 및 Flask 프레임 워크 사용, API 개발, 데이터 분석 및 시각화, 머신 러닝 및 AI 및 성능 최적화가 포함됩니다. 1. Django 및 Flask 프레임 워크 : Django는 복잡한 응용 분야의 빠른 개발에 적합하며 플라스크는 소형 또는 고도로 맞춤형 프로젝트에 적합합니다. 2. API 개발 : Flask 또는 DjangorestFramework를 사용하여 RESTFULAPI를 구축하십시오. 3. 데이터 분석 및 시각화 : Python을 사용하여 데이터를 처리하고 웹 인터페이스를 통해 표시합니다. 4. 머신 러닝 및 AI : 파이썬은 지능형 웹 애플리케이션을 구축하는 데 사용됩니다. 5. 성능 최적화 : 비동기 프로그래밍, 캐싱 및 코드를 통해 최적화

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.
