Перейти к содержимому

Key-value-хранилища

Key-value-хранилище — это тип базы данных, который консоль показывает как Key-value store с пометкой «Works with Redis clients.» Приложения подключаются к нему через клиентские библиотеки и команды Redis, которые они уже используют. Внешние key-value-подключения работают так же и могут указывать на Redis, Valkey или другой сервер, поддерживающий протокол Redis.

Обзор хранилища ключ-значение с размером, памятью, CPU, задержкой, клиентами и операциями в секундуОбзор хранилища ключ-значение с размером, памятью, CPU, задержкой, клиентами и операциями в секунду

Новые управляемые key-value-хранилища работают на Valkey 9.1.2 с модулями JSON, Bloom и Search. Их создают, масштабируют, приостанавливают, публикуют, привязывают к рабочим нагрузкам и резервируют так же, как любую управляемую базу данных. Для создания нужен тариф Personal или выше.

Каждая привязка получает собственного пользователя ACL. Он может выполнять обычные команды работы с данными, соединением, транзакциями и pub/sub, а также загружать и запускать скрипты; администрировать ACL, сбрасывать или прерывать скрипты и управлять функциями он не может.

Explorer просматривает ключи, показывает значения, а также задаёт, удаляет ключи и устанавливает им срок жизни, если вам это разрешено; консоль выполняет команды Redis.

На тарифах Business и Enterprise key-value-хранилище также может работать на нескольких серверах. Его копии всегда следуют за основным сервером асинхронно.

Хранилища, созданные до 2.12, продолжают работать на Redis. Они работают как раньше; ничего не меняется, пока вы их не переведёте.

Move to Valkey на странице хранилища копирует все ключи в Valkey на той же ноде и переключает хранилище на него:

  1. Сначала диалог проверяет хранилище и показывает число ключей и ожидаемую паузу записи.
  2. Подтвердите. Пока ключи копируются, запись приостановлена; чтение продолжает работать.
  3. Когда число ключей совпадает, хранилище переключается на Valkey. Оно сохраняет свои учётные данные, опубликованный порт и привязки; подключённые клиенты переподключаются.

Данные Redis остаются на ноде, пока число ключей не совпадёт. Если что-то идёт не так, хранилище возвращается на Redis.

Переход отклоняется до каких-либо изменений, если:

  • хранилище не запущено;
  • на его ноде работает Docker-демон без поддержки Valkey; сначала обновите демон;
  • в нём есть ключи, которые нельзя скопировать: фильтры Bloom или cuckoo, временные ряды, наборы векторов или поисковые индексы;
  • его окружение приложения изолировано.

Группы потребителей потоков переносятся с последним доставленным ID, но без ожидающих записей. Если в хранилище есть ожидающие записи, диалог сообщает их число, и для перехода нужно явное подтверждение.

API: GET (проверка) и POST /api/databases/managed/{id}/move-to-valkey, с acceptPendingStreamLoss: true, чтобы согласиться на потерю ожидающих записей потоков. MCP: действия move_to_valkey_check и move_to_valkey инструмента manage_managed_database. Скоуп: databases:edit.

Резервная копия key-value-хранилища восстанавливается только в тот движок, из которого она снята: копия Redis — в хранилище на Redis или в новое хранилище, копия Valkey — в хранилище на Valkey или в новое хранилище. После Move to Valkey создайте новую резервную копию, чтобы последняя копия соответствовала движку. См. Резервное копирование баз данных.

Резервное копирование читает хранилище через репликацию, поэтому пользователю внешнего key-value-подключения нужны команды репликации (REPLCONF, SYNC). Это проверяется при сохранении политики резервного копирования и при каждом запуске.