РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
669 of 818 menu

Метод set

Метод set применяется к объекту кэша и сохраняет значение по указанному ключу. В качестве аргументов принимает ключ, значение и опциональное время жизни в секундах. Если ключ уже существует, его значение будет перезаписано. Метод возвращает True в случае успешной записи.

Синтаксис

cache.set(key, value, timeout=None, version=None)

Параметры метода:

# key - строковый ключ для доступа к значению # value - сохраняемое значение (любого типа) # timeout - время жизни в секундах (по умолчанию None) # version - версия ключа (опционально)

Пример . Сохранение строки

Сохраним строковое значение в кэш с временем жизни 60 секунд:

from django.core.cache import cache # Сохраняем строку в кэш res = cache.set('user_name', 'John Doe', timeout=60) print(res) # Получаем значение из кэша name = cache.get('user_name') print(name)

Результат выполнения кода:

"True" "John Doe"

Пример . Сохранение словаря

Сохраним сложный объект (словарь) в кэш без ограничения времени:

from django.core.cache import cache # Сохраняем словарь в кэш user_data = { 'id': 1, 'name': 'Alice', 'email': 'alice@example.com', 'active': True } res = cache.set('user_data', user_data) print(res) # Получаем данные из кэша data = cache.get('user_data') print(data)

Результат выполнения кода:

"True" "{'id': 1, 'name': 'Alice', 'email': 'alice@example.com', 'active': True}"

Пример . Сохранение с версионированием

Используем параметр version для управления версиями кэша:

from django.core.cache import cache # Сохраняем значение с версией 1 res = cache.set('article', 'First version', timeout=300, version=1) print(res) # Сохраняем значение с версией 2 res = cache.set('article', 'Second version', timeout=300, version=2) print(res) # Получаем значения разных версий article_v1 = cache.get('article', version=1) article_v2 = cache.get('article', version=2) print(article_v1) print(article_v2)

Результат выполнения кода:

"True" "True" "First version" "Second version"

Пример . Перезапись существующего ключа

Метод set автоматически перезаписывает существующие ключи:

from django.core.cache import cache # Первоначальное значение cache.set('counter', 100, timeout=120) old_value = cache.get('counter') print(old_value) # Перезаписываем новым значением cache.set('counter', 200, timeout=120) new_value = cache.get('counter') print(new_value)

Результат выполнения кода:

"100" "200"

Смотрите также

  • метод get,
    который получает значение из кэша по ключу
  • метод add,
    который добавляет значение только если ключ отсутствует
  • метод get_or_set,
    который получает значение или устанавливает его
  • метод set_many,
    который устанавливает несколько значений в кэш
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить