Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

405
Views
Configuración del TTL (caducidad) mediante el nuevo mapeo de objetos de nodo y Redis-OM

Encontré la nueva funcionalidad de mapeo de objetos de nodo de Redis-OM, realmente no había experimentado con Redis antes, pero pensé que ahora podría ser el momento de intentarlo.

En este momento tengo una función básica configurada para crear una sala, pero me gustaría que la sala caduque después de, digamos, 24 horas (86400 segundos iirc).

 export async function createRoom(data) { await connect(); const repository = new Repository(schema, client); const room = repository.createEntity(data); const id = await repository.save(room); return id; }

¿Cómo configuro el TTL o el tiempo de caducidad de un objeto utilizando el enfoque de asignación de objetos? Consulte mi esquema a continuación.

 class Room extends Entity {} let schema = new Schema( Room, { code: { type: 'string' }, playlist: { type: 'array', videos: { type: 'string' } }, }, { dataStructure: 'JSON', } );
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En este momento, Redis OM no admite la configuración del TTL como parte del mapeo de objetos, pero creo que es una buena idea y lo pondrá en el backlog.

Por ahora, puede configurarlo manualmente usando el método Client.execute() para llamar a EXPIRE en la clave que contiene el objeto que desea que caduque.

Los detalles sobre el comando EXPIRE están aquí , pero son prácticamente solo EXPIRE key seconds .

La clave para los objetos en Redis OM para Node.js está compuesta por el nombre de la entidad y el ID de la entidad separados por dos puntos. Entonces, en su ejemplo, esto sería algo como Room:01FT4JWNQ2FJHQEVWXNRMWZ2QR .

Poniendo esto junto, aquí está la línea mágica de código:

 await client.execute(['EXPIRE', `Room:${id}`, 3600]);
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!