آموزش جنگو Django | بهینهسازی عملکرد
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
کشگذاری (Caching)
کشگذاری یکی از روشهای مهم برای بهبود عملکرد برنامههای تحت وب است. در جنگو، کشگذاری به شما کمک میکند تا بار سرور را کاهش دهید و پاسخهای سریعتری به کاربران ارائه دهید.
انواع کشگذاری در جنگو:
-
کش حافظه (Memory Cache):
- از حافظه RAM برای ذخیره دادههای کش استفاده میکند.
- سریعترین روش کشگذاری است.
- برای سرورهای با ترافیک بالا مناسب است.
-
کش فایل (File-Based Cache):
- دادهها را در فایلهای سیستم ذخیره میکند.
- مناسب برای پروژههای کوچک و توسعهی محلی.
-
کش پایگاه داده (Database Cache):
- از یک جدول در پایگاه داده برای ذخیره کش استفاده میکند.
- برای برنامههایی که از پایگاه داده استفاده میکنند مفید است.
-
کش مبتنی بر Redis/Memcached:
- از سیستمهای کش خارجی مانند Redis یا Memcached استفاده میکند.
- برای برنامههای بزرگ و مقیاسپذیر بسیار مناسب است.
نحوه فعالسازی کش در جنگو:
برای استفاده از کش در جنگو، باید تنظیمات مربوط به آن را در فایل settings.py انجام دهید. به عنوان مثال:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
استفاده از کش در ویوها:
میتوانید از دکوراتور @cache_page برای کش کردن خروجی یک ویو استفاده کنید:
from django.views.decorators.cache import cache_page
@cache_page(60 * 15) # کش به مدت ۱۵ دقیقه ذخیره میشود
def my_view(request):
# کد ویو
return response
کش کردن بخشهای خاص در قالبها:
در قالبها نیز میتوانید از تگ {% cache %} برای کش کردن بخشهای خاص استفاده کنید:
{% load cache %}
{% cache 500 sidebar %}
<div class="sidebar">
<!-- محتوای سایدبار -->
</div>
{% endcache %}
با استفاده از این روشها میتوانید عملکرد برنامه خود را بهطور چشمگیری بهبود ببخشید.
برای ثبت پرسش ابتدا در سایت وارد شوید.