Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

304
Visualizações
Almacén de valor-clave para rangos de IP

Tengo un gran conjunto de datos que se ve así:

Aproximadamente 30 millones de filas

Las columnas son: Inicio de IP, Fin de IP, Ubicación. Esencialmente se refiere a todas las direcciones IP en el rango entre la dirección IP inicial y final.

Buscando almacenar esto en un almacén de clave-valor (Cloudflare Workers KV), sin embargo, no hay funcionalidad de consulta. Solo puedo hacer un get(key) .

¿Hay alguna forma en que pueda estructurar estos datos (sin una fila para cada IP individual) donde pueda obtener fácilmente la fila correcta para cualquier IP dada?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Algunas ideas:

  • El método list() con limit: 1 devolvería el primer elemento en un rango de lista, lo que podría facilitar el "escaneado" de la tabla. list() solo devuelve claves, no valores, pero también devuelve metadatos; si su valor se ajusta a los metadatos, puede ponerlo allí y list() lo devolverá. Desafortunadamente, list() no le permite especificar un rango, solo un prefijo, por lo que puede ser un poco complicado formular consultas. Además, las operaciones list() son más caras que get() tanto en términos de facturación como de rendimiento.

  • Otro diseño posible podría ser agrupar sus datos por subred, por ejemplo, almacenar una clave para cada /24 , donde el valor contiene todos los rangos que están debajo de ese /24 (estoy usando /24 como ejemplo, pero un tamaño más grande podría tiene sentido dependiendo del conjunto de datos). Luego, solo tiene que hacer una búsqueda de una dirección IP en particular, buscando la subred que la rodea. Como optimización adicional, si es común ver rangos de IP que son mucho más grandes que un solo /24 , podría, por ejemplo, almacenarlos como /16 s, y luego en cada búsqueda necesitaría verificar tanto el /24 como /16 teclas. O, tal vez, hay pocos rangos "grandes" suficientes para que pueda incrustarlos directamente en su secuencia de comandos de Worker y evitar la necesidad de realizar una búsqueda. Como beneficio adicional, este enfoque probablemente utilizaría mejor el caché, si está buscando direcciones IP de clientes. Los clientes en la misma subred tenderían a estar en la misma ubicación y alcanzarían el mismo color de Cloudflare, por lo que si todos se asignan a la misma clave en su espacio de nombres KV, entonces los datos tenderían a estar tibios en caché en ese color.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda