X

آموزش جنگو Django | بهینه‌سازی عملکرد

کش‌گذاری (Caching)

کش‌گذاری یکی از روش‌های مهم برای بهبود عملکرد برنامه‌های تحت وب است. در جنگو، کش‌گذاری به شما کمک می‌کند تا بار سرور را کاهش دهید و پاسخ‌های سریع‌تری به کاربران ارائه دهید.

انواع کش‌گذاری در جنگو:

  1. کش حافظه (Memory Cache):

    • از حافظه RAM برای ذخیره داده‌های کش استفاده می‌کند.
    • سریع‌ترین روش کش‌گذاری است.
    • برای سرورهای با ترافیک بالا مناسب است.
  2. کش فایل (File-Based Cache):

    • داده‌ها را در فایل‌های سیستم ذخیره می‌کند.
    • مناسب برای پروژه‌های کوچک و توسعه‌ی محلی.
  3. کش پایگاه داده (Database Cache):

    • از یک جدول در پایگاه داده برای ذخیره کش استفاده می‌کند.
    • برای برنامه‌هایی که از پایگاه داده استفاده می‌کنند مفید است.
  4. کش مبتنی بر 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 %}

با استفاده از این روش‌ها می‌توانید عملکرد برنامه خود را به‌طور چشمگیری بهبود ببخشید.

پرسش و پاسخ این درس

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1
  • 2
  • 3