Repolode
microlinkhq

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. 1

    Установите основной пакет

    npm install @keyvhq/core --save
  2. 2

    При необходимости установите адаптер хранилища, например Redis

    npm install @keyvhq/redis --save
  3. 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 обновляется ежедневно.

Похожие проекты