Что такое Мемкэш?

Memcached — это технология кэширования в памяти, используемая для повышения производительности сайта за счет сокращения доступа к базе данных. Он был создан в живом журнале для управления большими нагрузками, а затем был открыт исходным кодом Danga Interactive.

Как использовать в Джанго?

Я покажу вам различные формы реализации кэширования.

Чтобы установить memcached:

apt-get install memcached         #to install memcached-server
pip install python-memcached

Добавьте следующие настройки в settings.py:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': 'unix:/tmp/memCached.sock',
    }
}

Теперь было хорошо, чтобы начать кэширование.

from django.core.cache import cache
cache.set(cache_key, result, cache_time)          # to cache a value
cache.set_many({'a': 1, 'b': 2, 'c': 3})          # to cache many keys
cache.get(cache_key)                              # to retive a key from cache
cache.get_many(['a', 'b', 'c'])                   # to retrive many keys from cache

Для использования в качестве декоратора:

from django.views.decorators.cache import cache_page

@cache_page(60 * 10)
def home_view(request): #this code will cache the page for 10 mins.

Для кэширования на уровне шаблона:

{% load cache %}
 ... not cached content here ...
{% cache  cache_key %}
cached content here
​{% endcache %}

Если вы хотите удалить определенный ключ из кеша или очистить весь кеш.

cache.delete('a')     # where a is key
cache.delete_many(['a', 'b', 'c'])
cache.clear()

Это почти все способы обработки кэширования.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube,и Discord. Заинтересованы в Взлом роста? Ознакомьтесь с разделом Схема.