Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

222
Vistas
Redis: ¿Cómo se ordena el resultado de KEYS *?

Tengo una aplicación php redis muy simple que crea claves en ciertos eventos. Todas las claves son solo contadores y tienen un tiempo de caducidad de 24 horas. Básicamente, una ventana móvil de 24 horas para que cada tecla recopile algunas estadísticas.

 if ($redis->exists($key)) { $redis->incr($key); } else { $redis->set($key, '1'); $now = time(); // current timestamp $redis->expireAt($key, $now + 86400); }

Cuando extraigo una descripción general de todas mis claves con $list = $redis->keys("*"); (o en una consola redis-cli con keys * ), sospecharía un orden cronológico por fecha de creación. Sin embargo, este no es el caso. Tampoco están ordenados alfabéticamente, por valor...

Entonces mi pregunta es, ¿cómo se ordena esta lista?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En primer lugar, no use keys * es una función de depuración no diseñada para una producción, puede matar su servidor ... Si necesita enumerar todas las claves en DB de manera segura, use la función SCAN con LIMIT .

De todos modos, los resultados de keys o el scan no se ordenan de ninguna manera, el orden de los resultados está relacionado con la estructura de la memoria interna de la tabla hash de redis.

Acerca de su secuencia de comandos php, puede hacerlo con un solo comando, sin que exists el set expireat simplemente ejecute:

SET key 1 EX 86400 NX

EX 86400 significa que expirará en 86400 (1 día) segundos a partir de ahora

NX significa crear una clave solo si no existe.

Si este comando devuelve (nil) ejecuta la INCR key normal, significa que la clave ya existe. Por cierto, el comando INCR no eliminará la configuración de caducidad.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda