In-memory хранилище данных, совместимое по API с Redis и Memcached и задуманное как их прямая замена.
microlinkhq/keyvhq
Библиотека для хранения пар «ключ-значение» в Node.js с TTL и подключаемыми хранилищами, такими как Redis, MongoDB, SQLite и PostgreSQL.
- Звёзды
- 446
- Форки
- 20
- Открытые issues
- 0
- Последний коммит
- 2 месяца назад
Что это?
Keyv — небольшая библиотека для Node.js, которая хранит пары «ключ-значение» и поддерживает необязательное истечение срока действия по TTL. По умолчанию данные хранятся в Map в памяти, но для постоянного хранения можно подключить адаптер для Redis, MongoDB, MySQL, PostgreSQL, SQLite или файла. В качестве хранилища также подойдёт любой объект, реализующий API Map.
API построен на Promise и предоставляет методы set, get, has, delete и clear. Пространства имён позволяют нескольким экземплярам использовать одну базу данных, не создавая конфликтов ключей и не затрагивая данные друг друга при очистке. Библиотека сериализует все типы JSON и значения Buffer; для других типов можно задать собственные функции serialize и deserialize. Ошибки базы данных обрабатываются так, чтобы сбой хранилища не приводил к падению приложения.
В проект также входят декораторы для сжатия, ограничения максимального размера, мемоизации, объединения нескольких хранилищ в цепочку и сбора метрик. Благодаря такой архитектуре другим модулям легко принимать параметр cache и передавать его в Keyv.
Ключевые возможности
- 01По умолчанию хранит данные в памяти и поддерживает множество адаптеров для баз данных.
- 02Поддерживает TTL для отдельных ключей и для всего хранилища по умолчанию.
- 03Пространства имён изолируют ключи в общем хранилище и позволяют очистить данные только одного пространства.
- 04Из коробки обрабатывает все типы JSON и значения Buffer.
- 05Позволяет задавать собственные функции serialize и deserialize.
- 06В качестве хранилища подходит любой объект, реализующий API Map.
Сценарии использования
- Добавление в приложение на Node.js кэша с TTL, работающего поверх Redis или другой базы данных.
- Кэширование HTTP-ответов в клиентской библиотеке, как в примере с got.
- Постоянное хранение пар «ключ-значение» в SQLite или PostgreSQL без написания собственного слоя работы с данными.
- Добавление поддержки кэша в переиспользуемый npm-модуль, позволяющий пользователям передавать собственное хранилище.
Быстрый старт
- 1
Установите основной пакет
npm install @keyvhq/core --save - 2
При необходимости установите адаптер хранилища, например Redis
npm install @keyvhq/redis --save - 3
Создайте экземпляр Keyv и установите, получите и удалите ключ
Что важно знать
- Некоторые функции и адаптеры зависят от внешних баз данных или сервисов, таких как Redis, MongoDB или PostgreSQL, которые необходимо запускать самостоятельно.
Темы
Частые вопросы
- Что такое keyvhq?
- Библиотека для хранения пар «ключ-значение» в Node.js с TTL и подключаемыми хранилищами, такими как Redis, MongoDB, SQLite и PostgreSQL. Keyv — небольшая библиотека для Node.js, которая хранит пары «ключ-значение» и поддерживает необязательное истечение срока действия по TTL. По умолчанию данные хранятся в Map в памяти, но для постоянного хранения можно подключить адаптер для Redis, MongoDB, MySQL, PostgreSQL, SQLite или файла. В качестве хранилища также подойдёт любой объект, реализующий API Map.
- keyvhq можно использовать бесплатно? Какая у него лицензия?
- keyvhq распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- keyvhq всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в keyvhq — 27 авг. 2026 г..
- Для чего можно использовать keyvhq?
- Добавление в приложение на Node.js кэша с TTL, работающего поверх Redis или другой базы данных. Кэширование HTTP-ответов в клиентской библиотеке, как в примере с got. Постоянное хранение пар «ключ-значение» в SQLite или PostgreSQL без написания собственного слоя работы с данными. Добавление поддержки кэша в переиспользуемый npm-модуль, позволяющий пользователям передавать собственное хранилище.
- Как установить keyvhq?
- Установите основной пакет: npm install @keyvhq/core --save При необходимости установите адаптер хранилища, например Redis: npm install @keyvhq/redis --save Создайте экземпляр Keyv и установите, получите и удалите ключ
- Где скачать keyvhq?
- Исходный код и инструкции по установке — на GitHub: https://github.com/microlinkhq/keyvhq
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Высокопроизводительный сервер структур данных «ключ — значение», совместимый с Redis и созданный как форк Redis для кэширования и задач реального времени.
Java-клиент для Valkey и Redis с распределёнными коллекциями, блокировками, очередями и сервисами поверх базовых команд.
Форумное ПО на Node.js с обсуждениями в реальном времени и поддержкой Redis, MongoDB или PostgreSQL.
Встраиваемая персистентная key-value база данных на чистом Go с ACID-транзакциями и архитектурой, рассчитанной на SSD.
Библиотека Hugging Face для Parameter-Efficient Fine-Tuning (PEFT): адаптация крупных предварительно обученных моделей с помощью обучения небольшого набора дополнительных параметров.