Valkey: Beispiel: Valkey Search in Node.js verwenden

Diese Dokumentation ist Teil des Suche und JSON-Leitfadens. Den vollständigen Leitfaden finden Sie hier: JSON-Dokumente mit dem Valkey Search-Modul speichern und abfragen.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Valkey Cloud-Lösung mit zahlreichen Vorteilen, darunter:

  • Valkey Admin Web-Oberfläche inklusive.
  • Unbegrenzte Nachrichten­größe und Übertragungen.
  • Updates ganz einfach per Klick.
  • Optimale Performance und starke Sicherheit durch eine private, dedizierte Infrastruktur.

Sparen Sie Zeit und vereinfachen Sie Ihren Alltag: Es dauert nur 5 Minuten, um die Valkey Cloud Hosting-Lösung von Stackhero auszuprobieren!

Da Valkey dasselbe Protokoll wie Redis verwendet, ist jeder Redis-Client kompatibel. Sie können dieses Beispiel mit dem offiziellen node-redis Client nutzen:

import { createClient, SCHEMA_FIELD_TYPE } from 'redis';

const client = createClient({ url: process.env.STACKHERO_VALKEY_URL_TLS });
await client.connect();

// Erstellen Sie den Index einmalig beim Start
try {
  await client.ft.create(
    'productsIndex',
    {
      name: SCHEMA_FIELD_TYPE.TEXT,
      brand: SCHEMA_FIELD_TYPE.TAG,
      price: SCHEMA_FIELD_TYPE.NUMERIC
    },
    { ON: 'HASH', PREFIX: 'product:' }
  );
} catch (error) {
  if (!error.message.includes('Index already exists')) {
    throw error;
  }
}

await client.hSet('product:1', { name: 'Espresso machine', brand: 'Bianca', price: '459' });

const results = await client.ft.search('productsIndex', '@brand:{Bianca} @price:[0 500]');
console.log(results.total, results.documents);

await client.quit();