Valkey: Esempio: Utilizzo della ricerca Valkey in Node.js
Questa documentazione fa parte della guida Ricerca e JSON. Consulta la guida completa qui: Archivia e interroga documenti JSON con il modulo di ricerca Valkey.
👋 Benvenuto nella documentazione di Stackhero!
Stackhero offre una soluzione Valkey cloud pronta all'uso che garantisce numerosi vantaggi, tra cui:
- Interfaccia web Valkey Admin inclusa.
- Dimensione e trasferimento dei messaggi illimitati.
- Aggiornamenti semplici con un solo clic.
- Prestazioni ottimali e sicurezza avanzata grazie a un'infrastruttura privata e dedicata.
Risparmia tempo e semplificati la vita: bastano 5 minuti per provare la soluzione Valkey cloud hosting di Stackhero!
Poiché Valkey utilizza lo stesso protocollo di Redis, qualsiasi client Redis è compatibile. Puoi utilizzare questo esempio con il client node-redis ufficiale:
import { createClient, SCHEMA_FIELD_TYPE } from 'redis';
const client = createClient({ url: process.env.STACKHERO_VALKEY_URL_TLS });
await client.connect();
// Crea l'indice una sola volta all'avvio
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();