osFoundry / Platform
KV-хранилище на приложение
Redis-совместимый KV с TTL. Сессии, кэши, счётчики — по размеру вашего приложения.
Что это
KV-хранилище на приложение даёт каждому приложению, которое вы строите внутри osFoundry, собственный Redis-совместимый бэкенд ключ-значение. Если вы уже знаете Redis, то знаете и это: задать ключ, прочитать его обратно, увеличить счётчик, добавить время жизни, чтобы запись истекла сама собой. Каждое приложение получает собственное изолированное пространство имён, поэтому ключи сессий одного приложения никогда не сталкиваются с записями кэша другого. Нет отдельного сервера Redis, который нужно провизионировать, защищать или поддерживать в рабочем состоянии: хранилище является частью среды выполнения приложения и масштабируется под приложение, которое им пользуется.
TTL — это и есть смысл KV-хранилища, и он работает так, как вы ожидаете. Запишите токен сессии со сроком 30 минут, и он исчезнет, когда окно закроется; закэшируйте дорогой ответ API на пять минут и дайте ему обновиться самому; держите короткоживущую блокировку или окно ограничения частоты, которое очищается автоматически. Поскольку ключи истекают без задачи очистки, вы храните эфемерное состояние, не накапливая мусор. Счётчики тоже полноценны: атомарные инкремент и декремент дают вам подсчёт просмотров, учёт квот и простые порядковые номера без гонок read-modify-write.
Это вписывается в саму суть osFoundry как настольного рабочего пространства по модели bring-your-own-key, где чат, агенты, приложения, код, знания и данные живут в одном месте. KV-хранилище — это быстрый эфемерный уровень, который соседствует с остальными данными вашего приложения: используйте его для всего горячего, небольшого и короткоживущего, а долговечные записи держите в другом месте. Быть Redis-совместимым означает, что ментальная модель и словарь команд переносятся из всего, что вы строили раньше, так что вам не нужно учить новый API, чтобы заставить работать сессии и кэши.
Ключевые возможности
- Redis-совместимый API ключ-значение: GET, SET, INCR, EXPIRE и команды, которые вы уже знаете, без нового клиента для изучения
- TTL для каждого ключа, чтобы сессии, записи кэша и блокировки истекали сами, без задачи очистки
- Изолированное пространство имён на приложение: ключи каждого приложения ограничены им и никогда не сталкиваются с чужими
- Атомарные счётчики через инкремент и декремент для подсчёта просмотров, квот и окон ограничения частоты без состояний гонки
- Работает как часть приложения внутри osFoundry: нечего провизионировать, а хранилище масштабируется под использующее его приложение
Сценарии использования
- Разработчик приложений: храните сессии входа со скользящим TTL, чтобы пользователи оставались авторизованными, а устаревшие токены очищались сами
- Разработчик бэкенда: кэшируйте медленные ответы сторонних API на несколько минут, чтобы снизить задержку и повторные вызовы
- Автор инструментов для агентов: держите поминутный счётчик ограничения частоты, который автоматически сбрасывается через истекающий ключ
Часто задаваемые вопросы
Это настоящий Redis или только похожий на Redis?
Это Redis-совместимое хранилище: оно говорит на тех же командах и семантике ключ-значение, которые вы уже используете, — SET со сроком, GET, INCR, DEL, — поэтому имеющиеся привычки и шаблоны кода переносятся как есть. Ценность в том, что оно встроено в среду выполнения приложений osFoundry, так что вам не нужно поднимать и защищать отдельный сервер Redis, чтобы им пользоваться.
Что держать в KV-хранилище, а что в настоящей базе данных?
Используйте KV для горячего, небольшого и короткоживущего состояния: сессий, кэшей, счётчиков, окон ограничения частоты и блокировок — всего, чему вы не против дать истечь. Долговечные записи, которые должны сохраняться и запрашиваться, держите в полноценной базе данных. KV-хранилище — это быстрый эфемерный уровень, а не ваша система учёта.
Истекают ли ключи по TTL автоматически?
Да. Когда вы задаёте ключу время жизни, он удаляется, как только это окно проходит, без задачи очистки с вашей стороны. Именно это делает его удачным выбором для сессий и кэшей: данные, которые должны быть временными, очищаются сами, а не накапливаются.