Maison > interface Web > js tutoriel > Présentation de keyv-upstash : stockage transparent de valeurs-clés pour Redis sans serveur

Présentation de keyv-upstash : stockage transparent de valeurs-clés pour Redis sans serveur

Barbara Streisand
Libérer: 2024-12-26 14:45:10
original
452 Les gens l'ont consulté

Introducing keyv-upstash: Seamless Key-Value Storage for Serverless Redis

Github : https://github.com/mahdavipanah/keyv-upstash

keyv-upstash est un adaptateur de stockage pour Keyv qui le connecte à Upstash Redis, une plateforme Redis sans serveur. Avec cet adaptateur, vous obtenez une solution simple, efficace et flexible pour le stockage clé-valeur dans les applications sans serveur.

Qu’est-ce que Keyv ?

Keyv est une bibliothèque de stockage clé-valeur polyvalente qui prend en charge plusieurs backends via des adaptateurs. Il fournit :

  • Expiration basée sur TTL : idéal pour la mise en cache ou le stockage persistant.

  • Prise en charge des espaces de noms : évite les collisions de clés dans les environnements partagés.

  • Extensibilité : Facile à créer des modules personnalisés ou à ajouter des fonctionnalités telles que la compression.

Keyv fonctionne avec de nombreux adaptateurs, tels que Redis, SQLite, MongoDB et maintenant, keyv-upstash pour Upstash Redis.


Pourquoi keyv-upstash ?

keyv-upstash étend les capacités de Keyv en l'intégrant à Upstash Redis, offrant :

  1. Compatibilité sans serveur : Upstash Redis fonctionne sans gérer les connexions, évolue automatiquement, parfait pour les applications sans serveur.

  2. Flexible : Compatible avec l'écosystème Keyv et prend en charge les extensions tierces.

  3. Cache Layering : combinez-le avec Cacheable pour une mise en cache multicouche.

  4. Aucun verrouillage du fournisseur : Est entièrement compatible avec serverless-redis-http afin que vous puissiez configurer votre propre Redis sans serveur et utiliser cet adaptateur avec.


Commencer

Suivez ces étapes pour intégrer keyv-upstash :

1. Installez Keyv et keyv-upstash

Installez Keyv et l'adaptateur Upstash :

npm install keyv keyv-upstash
Copier après la connexion

Facultatif : installez Cacheable pour la mise en cache en couches :

npm install cacheable
Copier après la connexion

2. Configurer keyv-upstash

Assurez-vous d'avoir une base de données Redis créée dans Upstash. Voici comment utiliser keyv-upstash dans votre projet :

Utilisation de base

import Keyv from 'keyv';
import { KeyvUpstash } from 'keyv-upstash';

const keyv = new Keyv({
  store: new KeyvUpstash({
    url: 'your-upstash-redis-url',
    token: 'your-upstash-redis-token',
  }),
});

// Set a key-value pair
await keyv.set('foo', 'bar');

// Retrieve the value
const value = await keyv.get('foo');
console.log(value); // 'bar'
Copier après la connexion

Utiliser des espaces de noms

Les espaces de noms empêchent les collisions de clés et permettent un effacement limité :

const keyv = new Keyv({
  store: new KeyvUpstash({
    url: 'your-upstash-redis-url',
    token: 'your-upstash-redis-token',
    namespace: 'my-namespace',
  }),
});

await keyv.set('foo', 'bar'); // Stored as 'my-namespace::foo'
Copier après la connexion

Superposition de cache avec cacheable

Combinez keyv-upstash avec Cacheable pour une mise en cache multicouche :

import { Cacheable } from 'cacheable';

const redisStore = new KeyvUpstash({
  url: 'your-upstash-redis-url',
  token: 'your-upstash-redis-token',
});

const cache = new Cacheable({
  primary: new Map(), // Fast in-memory caching
  secondary: redisStore, // Persistent Redis caching
});

await cache.set('foo', 'bar', { ttl: 1000 }); // Stores in both layers
const value = await cache.get('foo'); // Fast lookup from memory or Redis
console.log(value); // 'bar'
Copier après la connexion

Fonctionnalités avancées

Opérations par lots

Améliorez les performances avec setMany et getMany :

await keyv.setMany([
  { key: 'key1', value: 'value1' },
  { key: 'key2', value: 'value2' },
]);

const values = await keyv.getMany(['key1', 'key2']);
console.log(values); // ['value1', 'value2']
Copier après la connexion

Configuration personnalisée

Personnalisez votre configuration avec des options telles que defaultTtl, keyPrefixSeparator et clearBatchSize.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal