Хранилище Valkey
Хранилище «ключ — значение», совместимое с Redis, для приложений — создание, подключение и примеры кода.
Valkey — управляемое хранилище «ключ — значение», совместимое с клиентами Redis. Приложения используют его для кеша, сессий и очередей; подключаетесь обычным Redis-клиентом по строке из переменной окружения.
Не путайте с хранилищем KV функций: оно живёт внутри функции, а Valkey — отдельный ресурс проекта, доступный приложениям. Для таблиц и SQL — база Postgres.
Создание
Заголовок раздела «Создание»В кабинете: карточка проекта → блок Valkey → Создать. Из терминала:
webshield apps kv create cache --memory 128 # 128 МБ, только в памятиwebshield apps kv create cache --memory 128 --persistent # переживает перезапускwebshield apps kv list # хранилища проектаwebshield apps kv delete cache # удалитьПамять — от 64 до 512 МБ. По умолчанию данные только в памяти и пропадают при перезапуске;
с --persistent (в кабинете — Хранить на диске) — переживают его.
Подключение
Заголовок раздела «Подключение»Ссылка на хранилище — как у баз: ${{cache.url}} в переменной приложения.
webshield apps env set REDIS_URL='${{cache.url}}' --redeployИспользование из кода
Заголовок раздела «Использование из кода»Node.js с клиентом redis:
import { createClient } from "redis";
const redis = createClient({ url: process.env.REDIS_URL });await redis.connect();
await redis.set("greeting", "привет");console.log(await redis.get("greeting")); // приветawait redis.incr("hits");Python с redis:
import osimport redis
r = redis.from_url(os.environ["REDIS_URL"])r.set("greeting", "привет")print(r.get("greeting").decode()) # приветПолная память
Заголовок раздела «Полная память»Когда память заполнена, запись отвергается (OOM command not allowed), ключи сами не
удаляются. Нужен кеш с вытеснением старого — задайте ключам время жизни (EXPIRE).